Answer the question
In order to leave comments, you need to log in
How to create an image-text with a background?
How to make a transparent plate with text on top of the image, as in the photo?
$draw = new ImagickDraw(); // Для работы с текстом
$bg = new Imagick('image.jpg'); // работа с самой картинкой
$draw->setTextAlignment(Imagick::ALIGN_CENTER);
$draw->setFillColor("rgb(255, 255, 255)"); // Цвет
$draw->setFontSize(40); // размер шрифта
$draw->setFont(ABSPATH."/wp-content/uploads/fonts/subset-GothamPro.ttf");
$bg->annotateImage($draw, 50, 50, 0, 'Лорем Ипсум');
$bg->writeImage('image.jpg');
Answer the question
In order to leave comments, you need to log in
$source = new Imagick($_SERVER['DOCUMENT_ROOT'] . '/image2.jpg');
$text = 'Лорем Ипсум';
$width = $source->getImageWidth();
$height = $source->getImageHeight();
$image = new Imagick(); // подложка
$draw = new ImagickDraw(); // текст
$mask = new Imagick(); // рамка
$draw->setFont($_SERVER['DOCUMENT_ROOT'] . '/impact.ttf');
$draw->setFontSize(60);
$draw->setFillColor(new ImagickPixel('white')); // black , как по мне по красивее получится
$draw->setGravity(Imagick::GRAVITY_CENTER);
$metric = $source->queryFontMetrics($draw, $text);
$x = (int) $metric['textWidth'] * 1.2;
$y = (int) $metric['textHeight'] * 1.2;
$offsetX = (int) (($width - $x) / 2);
$offsetY = (int) (($height - $y) / 2);
$image->newImage($x, $y, new ImagickPixel('white'));
$mask->newImage($x, $y, new ImagickPixel('gray20'));
$mask->annotateImage($draw, 0, 0, 0, $text);
$mask->setImageMatte(false);
$image->setImageCompressionQuality(100);
$image->setImageAlpha(0.2);
$image->compositeImage($mask, Imagick::COMPOSITE_COPYOPACITY, 0, 0);
$source->compositeImage($image, Imagick::COMPOSITE_DISSOLVE, $offsetX, $offsetY);
$source->setImageCompressionQuality(100);
$source->setImageFormat('png');
header('Content-type: image/png');
echo $source;
#$source->writeImage($_SERVER['DOCUMENT_ROOT'] . '/testus.png');
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question