Intereting Posts
Записи php dns Функция заголовка php выдает ошибку, когда она не должна Как преобразовать .wav в .mp3 файл в php Ionic + Angular – Как избежать «404 Not Found (from cache)» после запроса POST? Публиковать поток из приложения – для не зарегистрированных пользователей, используя Graph API, php SDK CakePHP идентификатор сеанса или другой метод для совместного использования результатов URL – рекомендации приветствуются Разрешить сеансам php переносить на поддомены Apache / PHP: Во всяком случае, чтобы получить значение ServerName с помощью PHP PHP, как выполнить команду Confusion PDO-only проблема: невозможно подключиться через сокет / Access denied / не удается подключиться к серверу (общий хост) Фоновые процессы PHP Как отправить октет / поток типа BLOB типа на сервер с помощью AJAX? Есть ли что-то вроде DBForge от Code Igniter для C #? Преимущество перехода по ссылке против использования глобального? Установлен ли параметр_пакеты_файла () в параметре timeout?

Как изменить цвет надписи, нарисованной с помощью функции newPseudoImage PHP Imagick?

Я создаю изображение с надписью, используя функцию 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 с заголовком вместо этих других методов, потому что он автоматически обертывает и newPseudoImage текст, чтобы он поместился в данный прямоугольник.

Вы можете использовать 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; 

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();