(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öntem
değiştirgeler
Bozunum 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: