Аннотировать изображение дважды

Я комментирую изображение с помощью 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

Решение

Вот пример 2-й аннотации, которую вы можете добавить к изображению.

<?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 координаты вы можете добавить аннотации, где вам нравится. Просто помните, что они могут перекрывать друг друга.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector