Imagemagick 如何为Imagick标题分别为文本和背景上色?

Imagemagick 如何为Imagick标题分别为文本和背景上色?,imagemagick,imagick,caption,Imagemagick,Imagick,Caption,我只想给标题文本上色,而不是给整个标题框(或背景)上色。 在Imagemagick 6.3.7之前,我可以使用此代码生成红色文本: $im->newPseudoImage(300, 300, "caption:" . "Put your text" ); $im->colorizeImage('#ff0000',1.0); 我已升级,因为我需要使用以下代码设置字体和字号: $im->setFont("somefont.ttf"); $im->setpointsize(7

我只想给标题文本上色,而不是给整个标题框(或背景)上色。 在Imagemagick 6.3.7之前,我可以使用此代码生成红色文本:

$im->newPseudoImage(300, 300, "caption:" . "Put your text" );
$im->colorizeImage('#ff0000',1.0);
我已升级,因为我需要使用以下代码设置字体和字号:

$im->setFont("somefont.ttf");
$im->setpointsize(72);
现在,colorizeImage的工作方式不同了,因为它不仅为标题文本着色,还为标题背景着色

例如,如果我设置了黑色背景和白色文本:

$im->newPseudoImage(300, 300, "caption:" . "Put your text" );
$im->setBackgroundColor('black');
$im->colorizeImage('white',1.0);
我有一个白色的背景后面的白色文本,或一个白色的框(颜色的文本框)

我尝试了不同的东西,在colorizeImage之前或之后,都是一样的。。。我做了很多研究,但没有发现其他可以分别为标题和背景标题着色的方法


有人想帮我吗?Thx预告:)

不确定这是否是您想要的,但这会给我黑色背景上的白色文本:

$width='600';
$height='200';
$im=新的Imagick();
$draw=新的ImagickDraw();
$draw->setFont('arial.ttf');
$draw->setFontSize(96);
$fillcolor=新的ImagickPixel(“白色”);
$draw->setFillColor($fillcolor);
$draw->setGravity(Imagick::GRAVITY\u CENTER);
$bgcolor=新的图像像素(“黑色”);
$text='Rubblewebs';
$im->newImage($width,$height,$bgcolor);
$im->annotateImage($draw,0,0,$text);
$im->setImageFormat(“png”);
$im->writeImage('text.png');
  • 您需要透明的背景。然后您将只为前景着色
  • 使用clutImage应用颜色colorizeImage在替换黑色时会出现颜色稍暗的问题
    $im=new Imagick();
    $im->newPseudoImage(300300,“标题:”“输入文本”);
    $im->setBackgroundColor(“透明”);
    $clut=new Imagick();
    $clut->newImage(1,1,新的ImagickPixel('ff0000');
    $txt->clutImage($clut);
    $clut->destroy();