Imagick::distortImage
(PECL imagick 2.0.1)
Imagick::distortImage — Çeşitli yöntemlerle resmi bozunuma uğratır
Açıklama
$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.
Değiştirgeler
-
yöntem -
değiştirgeler -
Bozunum yönteminin değiştirgeleri.
-
sığdır -
TRUEbelirtildiği takdirde kaynağın bozunmuş hali yeni resme sığdırmaya çalışılır.
Dönen Değerler
Başarı durumunda TRUE döner.
Hatalar/İstisnalar
Hata durumunda bir ImagickException istisnası oluşur.
Örnekler
Ö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:
Ayrıca Bakınız
- Imagick::blurImage() - Resme bir bulanıklık süzgeci ekler
- Imagick::motionBlurImage() - Hareket bulanıklığını taklit eder
- Imagick::radialBlurImage() - Bir resme dairesel bulanıklık uygular
