сделать прозрачное изображение PNG с помощью GD - PullRequest
0 голосов
/ 24 июля 2011

Я хочу сделать прозрачное изображение в формате png и напечатать на нем строку с помощью imagefttext (черным цветом). Я прочитал несколько примеров, я думаю, что я должен использовать функцию imagecolortransparent, но она делает изображение на черном фоне. как мне это сделать?

1 Ответ

6 голосов
/ 24 июля 2011

Попробуйте это

<?php
//Canvas size 100x50
$image = imagecreatetruecolor(100, 50);
imagealphablending($image, false);
//Create alpha channel for transparent layer
$col=imagecolorallocatealpha($image,255,255,255,127);
//Create overlapping 100x50 transparent layer
imagefilledrectangle($image,0,0,100, 50,$col);
//Continue to keep layers transparent
imagealphablending($image,true);
//Insert the text
imagefttext($image,10,0,10,20,0,'octin.ttf','test sting');
//Keep trnsparent when saving
imagesavealpha($image,true);

//Save & output
if(imagepng($image, "test.png", 1)){
   header("Content-Type: image/png");
   readfile('test.png');
}
imagedestroy($image);
?>

Вывод 100x50px [test.png]

Output

упс, я забыл r ... мой плохой

...