我使用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;
答案 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
坐标,您可以在任意位置添加注释。请记住,它们可以重叠并相互重叠。