此方法实际上并没有在成功时返回 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;
?>
这对我有用,但是,我不能保证以上示例是此函数的正确用法。