Прозрачное наложение Создание PNG

У меня есть функция ниже, и я получил его до нужного размера, теперь я добавляю фоновое изображение, а затем хочу добавить только текстовое наложение с прозрачным фоном на весь текст наложения, но imagefilledrectangle применяет переменную $white что, как ожидается, я пытаюсь увидеть, есть ли в любом случае сказать, что функция должна быть прозрачной, вместо того, чтобы принимать цвет, белый в этом случае, документы PHP говорят, что цвет является обязательным параметром для imagefilledrectangleЛюбые предложения с благодарностью.

Фоновое изображение является локальным изображением:

define("BACKGROUND_FILE", "background.png");

Функция:

public function generateImage()
{
if (file_exists(BACKGROUND_FILE)) {
$im = @imagecreatefrompng(BACKGROUND_FILE);

if($im) {
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 115, 150, 195);

imagefilledrectangle($im, 0, 0, 399, 29, $white);

$text = 'Test';
$font = 'arial_narrow_7.ttf';

imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

imagepng($im);
imagedestroy($im);
} else {
echo 'Error';
}
}
}

Я пытался добавить imagecolortransparent($im, $white); до imagefilledrectangle но это не имело никакого значения.

1

Решение

Разобрался, нет необходимости иметь imagefilledrectangle строка в функции, ниже дает прозрачные текстовые элементы наложения, так как теперь заливка не применяется.

public function generateImage()
{
if (file_exists(BACKGROUND_FILE)) {
$im = @imagecreatefrompng(BACKGROUND_FILE);

if($im) {
$black = imagecolorallocate($im, 115, 150, 195);

$text = 'Test';
$font = 'arial_narrow_7.ttf';

imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

imagepng($im);
imagedestroy($im);
} else {
echo 'Error';
}
}
}
0

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

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

По вопросам рекламы [email protected]