PHP / GD - прозрачный фон
Я хочу сделать следующее в PHP в сочетании с GD. ImageMagick, к сожалению, не вариант, но это кажется такой распространенной проблемой, чтоимеет чтобы быть решением, я просто не могу найти его.
Я хочу создать PNG с прозрачным фоном. Затем я хочу нарисовать прямоугольник, скопировать на него изображение и добавить текст. Один из способов сделать это заключается в следующем:
$image = ImageCreateTrueColor (800, 600);
imagecolortransparent ($image, 0); //0 is pure black, the default fill color
imagerectangle (...);
//code to copy an image
imagettftext ($image, ...);
imagepng ($image);
Это работает нормально, за исключением того, что часть скопированного изображения может быть черной, и / или текст может быть черным. Это также становится прозрачным, что яне хотеть.
imagefill ($image, 0,0, 0x7FFF0000);
imagetransparent ($image, 0x7FFF0000);
Вышеприведенный код - это то, что я нашел в Интернете, он заполняет его красным, а затем делает красный прозрачным. Опять же, это заставляет весь красный цвет на изображении становиться прозрачным. Я мог бы выбрать цвет, который вряд ли появится, но я не могу этого гарантировать.
Я что-то упускаю? Это можно исправить? Спасибо за ваши ответы!