如何更改使用PHP Imagick';新的伪像函数?

如何更改使用PHP Imagick';新的伪像函数?,php,imagemagick,imagick,Php,Imagemagick,Imagick,我正在使用Imagick::newPseudoImage函数创建带有标题的图像,如下所示: $txt = new Imagick(); $txt->setFont("templates/fonts/Gloria.ttf"); $txt->setGravity(imagick::GRAVITY_CENTER); $txt->newPseudoImage( $image_width, $image_height, "caption:" . $text ); 这画了一个黑色的标题。

我正在使用
Imagick::newPseudoImage
函数创建带有标题的图像,如下所示:

$txt = new Imagick();
$txt->setFont("templates/fonts/Gloria.ttf");
$txt->setGravity(imagick::GRAVITY_CENTER);
$txt->newPseudoImage( $image_width, $image_height, "caption:" . $text );

这画了一个黑色的标题。我想自定义此标题的颜色。我知道用Imagick绘制文本还有其他方法。我需要使用带有标题的
newPseudoImage
而不是这些其他方法,因为它会自动包装文本并调整其大小以适合给定的矩形。

您可以使用colorizeImage。我希望这能帮助您:

$im = new Imagick();
$background = new ImagickPixel('none');

$im->setBackgroundColor($background);
$im->setFont("somefont.ttf");
$im->setpointsize(72);

$im->setGravity(Imagick::GRAVITY_CENTER);
$im->newPseudoImage(300, 300, "caption:" . "Put your text" );
$im->colorizeImage('#0000b0',1.0);
$im->setImageFormat("png");

header( "Content-Type: image/png" );
echo $im;

colorizeImage有问题,因为它混合了有趣和黑色,所以会使文本稍微变暗。改用clutImage

$txt = new Imagick();
$txt->setFont("templates/fonts/Gloria.ttf");
$txt->setGravity(imagick::GRAVITY_CENTER);
$txt->newPseudoImage( $image_width, $image_height, "caption:" . $text );

$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('#0000b0'));
$txt->clutImage($clut);
$clut->destroy();