(PECL imagick 2.0.1)
Imagick::distortImage — Çeşitli yöntemlerle resmi bozunuma uğratır
$yöntem
, array $değiştirgeler
, bool $sığdır
)
sığdır değiştirgesinde TRUE belirtilmedikçe eski
ve yeni resimler arasında boyut farkı olmaksızın çeşitli yöntemlerle resmi
bozunuma uğratır.
sığdır değiştirgesinde TRUE belirtildiği takdirde
bozunuma uğratılan resim başlangıcı, genişlik ve yüksekliği ayarlanarak
yeni resme sığdırılmaya çalışılır. Ayrıca, çoğu durumda, kaynak resmin
sanal başlangıcı eşleme sırasında hesaba katılır.
Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.
yöntemdeğiştirgelerBozunum yönteminin değiştirgeleri.
sığdır
TRUE belirtildiği takdirde kaynağın bozunmuş hali yeni resme
sığdırmaya çalışılır.
Başarı durumunda TRUE döner.
Hata durumunda bir ImagickException istisnası oluşur.
Örnek 1 - Imagick::distortImage() örneği
Resmi bozunuma uğratıp diske yazalım.
<?php
/* Yeni nesneyi oluşturalım */
$im = new Imagick();
/* Yeni checkerboard örüntüsünü oluşturalım */
$im->newPseudoImage(100, 100, "pattern:checkerboard");
/* Resim biçemi PNG olsun */
$im->setImageFormat('png');
/* Yeni görünür alanları şeffaf yapalım */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
/* Matlığı etkin kılalım */
$im->setImageMatte(true);
/* Bozunuma uğratılacak noktalar */
$controlPoints = array( 10, 10,
10, 5,
10, $im->getImageHeight() - 20,
10, $im->getImageHeight() - 5,
$im->getImageWidth() - 10, 10,
$im->getImageWidth() - 10, 20,
$im->getImageWidth() - 10, $im->getImageHeight() - 10,
$im->getImageWidth() - 10, $im->getImageHeight() - 30);
/* Rasmi bozunuma uğratalım */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);
/* Resmi çıktılayalım */
header("Content-Type: image/png");
echo $im;
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir: