此方法實際上不會在成功時回傳 TRUE,而是會回傳套用紋理的 Imagick 物件,但原始 Imagick 物件不會被修改。如這裡的其他範例所示,您需要使用 textureImage 呼叫的結果作為新的平舖影像。
(PECL imagick 2, PECL imagick 3)
Imagick::textureImage — 重複平舖紋理影像
texture_wand
用作紋理影像的 Imagick 物件
回傳已套用重複紋理的新 Imagick 物件。
發生錯誤時擲回 ImagickException。
範例 #1 Imagick::textureImage()
<?php
function textureImage($imagePath) {
$image = new \Imagick();
$image->newImage(640, 480, new \ImagickPixel('pink'));
$image->setImageFormat("jpg");
$texture = new \Imagick(realpath($imagePath));
$texture->scaleimage($image->getimagewidth() / 4, $image->getimageheight() / 4);
$image = $image->textureImage($texture);
header("Content-Type: image/jpg");
echo $image;
}
?>
此方法實際上不會在成功時回傳 TRUE,而是會回傳套用紋理的 Imagick 物件,但原始 Imagick 物件不會被修改。如這裡的其他範例所示,您需要使用 textureImage 呼叫的結果作為新的平舖影像。
<?php
$image = new Imagick();
$image->newImage(500, 500, new ImagickPixel('red'));
$image->setImageFormat("png");
$type=$image->getFormat();
header("Content-type: $type");
$texture = new Imagick();
$texture->readImage('texture.png');
$image = $image->textureImage($texture);
echo $image;
?>
這對我來說有效,但是,我不保證上述範例是此函式的正確用法。