两次注释图像

时间:2017-02-18 23:57:35

标签: php imagick

我使用Imagick注释图像:

$image = new Imagick('image.jpg');
$draw = new ImagickDraw();
$draw->setFillColor('#ffffff');
$draw->setFont('fonts/opensans-regular.ttf');
$draw->setFontSize(40);
$image->annotateImage($draw, 20, 100, 0, 'The quick fox jumps over the lazy dog');

$image->setImageFormat('png');

header('Content-type: image/png');
echo $image;

如何使用annotateImage()两次才能插入具有不同位置的文本元素?当我只是复制绘制段落时,最后一次使用是不可见的。我是否必须保存图像并再次编辑或存在一种即时执行的方式?提前谢谢。

更新

只添加第二个ImagickDraw()不起作用,它不可见。

$image = new Imagick('image.jpg');

//first
$draw = new ImagickDraw();
$draw->setFillColor('#ffffff');
$draw->setFont('fonts/opensans-regular.ttf');
$draw->setFontSize(40);
$image->annotateImage($draw, 20, 100, 0, 'The quick fox jumps over the lazy dog');

//second
$draw2 = new ImagickDraw();
$draw2->setFillColor('red');
$draw2->setFont('fonts/opensans-regular.ttf');
$draw2->setFontSize(40);
$image->annotateImage($draw2, 20, 800, 0, 'The quick fox jumps over the lazy dog');

$image->setImageFormat('png');

header('Content-type: image/png');
echo $image;

1 个答案:

答案 0 :(得分:2)

以下是您可以添加到图像的第二个注释的示例。

shopt -s nullglob dotglob
files=(*)

根据 for k in range(len(ffline)): if ffline[k] in di.keys(): di[ffline[k]] -= 1 else: di[ffline[k]] = something 坐标,您可以在任意位置添加注释。请记住,它们可以重叠并相互重叠。