Как изменить цвет заголовка, нарисованного с помощью функции PHP Imagick newPseudoImage? - PullRequest
3 голосов
/ 25 октября 2011

Я создаю изображение с подписью, используя функцию Imagick::newPseudoImage следующим образом:

$txt = new Imagick();
$txt->setFont("templates/fonts/Gloria.ttf");
$txt->setGravity(imagick::GRAVITY_CENTER);
$txt->newPseudoImage( $image_width, $image_height, "caption:" . $text );

Это рисует черную подпись.Я хочу настроить цвет этой надписи.Я знаю, что есть другие способы рисования текста с помощью Imagick.Мне нужно использовать newPseudoImage с заголовком вместо этих других методов, потому что он автоматически оборачивает и изменяет размер текста, чтобы поместиться в данный прямоугольник.

Ответы [ 2 ]

2 голосов
/ 18 ноября 2016

colorizeImage имеет проблемы, из-за которых текст становится немного темнее, потому что он смешивается с черным. Вместо этого используйте clutImage .

$txt = new Imagick();
$txt->setFont("templates/fonts/Gloria.ttf");
$txt->setGravity(imagick::GRAVITY_CENTER);
$txt->newPseudoImage( $image_width, $image_height, "caption:" . $text );

$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('#0000b0'));
$txt->clutImage($clut);
$clut->destroy();
1 голос
/ 28 января 2012

Вы можете использовать colorizeImage .Я надеюсь, что это может помочь вам:

$im = new Imagick();
$background = new ImagickPixel('none');

$im->setBackgroundColor($background);
$im->setFont("somefont.ttf");
$im->setpointsize(72);

$im->setGravity(Imagick::GRAVITY_CENTER);
$im->newPseudoImage(300, 300, "caption:" . "Put your text" );
$im->colorizeImage('#0000b0',1.0);
$im->setImageFormat("png");

header( "Content-Type: image/png" );
echo $im;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...