Я хочу сделать следующее на 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);
Вышеприведенный код - это то, что я нашел в Интернете, которое заполняет его красным, затем делает красный прозрачным. Опять же, это приводит к тому, что все красные изображения станут прозрачными. Я мог бы выбрать цвет, который вряд ли произойдет, но я не могу этого гарантировать.
Есть ли что-то, что мне не хватает? Можно ли это исправить? Спасибо за ваши ответы!