使用GD PHP创建具有文本和透明背景的图像

一切都可以在这个图像中旋转和居中显示文本,但是imagecolortransparent函数创建的文本周围有一个黑色边框.如何创建带有文本和透明背景的图像?这是代码:

header('Content-Type: image/png');

$title = "test text";

$im = imagecreatetruecolor(87, 80);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
imagefill($im, 87, 80, $black);
imagecolortransparent($im, $black);

$white = imagecolorallocate($im, 255, 255, 255);
$font = "../fonts/arial.ttf";

$bbox = imagettfbbox(12,-40,"../fonts/arial.ttf", $title);
$width = $bbox[2]-$bbox[0];
$height = ceil(($bbox[6]-$bbox[0])/2);

$pos = ceil((87-$width)/2);
$posx = $pos-$height;
$posy = $pos+$height;

imagettftext($im, 12, -45, $posx, $posy, $white, $font, $title);

imagepng($im);
imagedestroy($im);

解决方法:

你想要的是关闭消除锯齿,使用颜色的负数完成此操作.

imagettftext($im, 12, -45, $posx, $posy, -$white, $font, $title);
上一篇:PHP裁剪图像的形状不是方形,如椭圆形或圆形


下一篇:php – 旋转图像降低质量