注释图像两次
Annotate an image twice
我使用 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;
这是您可以添加到图像的第二个注释的示例。
<?php
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'white' );
$image->newImage(800, 75, $pixel);
$draw->setFillColor('black');
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );
$image->annotateImage($draw, 10, 25, 0, '1st line of annotation text here');
$image->annotateImage($draw, 10, 60, 0, '2nd line of annotation text here');
$image->setImageFormat('png');
header('Content-type: image/png');
echo $image;
根据 x,y
坐标,您可以在需要的地方添加注释。请记住,它们可以相互重叠。
我使用 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;
这是您可以添加到图像的第二个注释的示例。
<?php
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'white' );
$image->newImage(800, 75, $pixel);
$draw->setFillColor('black');
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );
$image->annotateImage($draw, 10, 25, 0, '1st line of annotation text here');
$image->annotateImage($draw, 10, 60, 0, '2nd line of annotation text here');
$image->setImageFormat('png');
header('Content-type: image/png');
echo $image;
根据 x,y
坐标,您可以在需要的地方添加注释。请记住,它们可以相互重叠。