当前位置:Gxlcms > PHP教程 > php在png格式的图片上合成文字?该怎么解决

php在png格式的图片上合成文字?该怎么解决

时间:2021-07-01 10:21:17 帮助过:5人阅读

php 在png格式的图片上合成文字?
RT

需要在png格式的图片上合成一些文字,但是为什么会有黑色的背景?

原图是

但是我生成的图片是这样的

浏览器看的效果


我需要在原图下面的空白处合成一些字在居中位置,请高手帮帮忙!

分享到:


------解决方案--------------------
y坐标400不都跑到图片外去了吗?
$url = 'http://img.bbs.csdn.net/upload/201310/29/1383042869_349074.png';
$im1 = imagecreatefrompng($url);

//这几行必须有,否则原图的阴影层过不来
$im2 = imagecreatetruecolor(imagesx($im1), imagesy($im1));
$bg = imagecolorallocate($im2, 255, 255, 255);
imagefill($im2, 0, 0, $bg);
imagecopy($im2, $im1, 0, 0, 0, 0, imagesx($im1), imagesy($im1));

#设置水印字体颜色
$color = imagecolorallocatealpha($im2,0,0,0,100);


#设置字体文件路径
$fontfile = "msyhbd.ttf";
$fontfile = "c:/windows/fonts/FZJZJW.TTF";

#水印文字
$str = "我们都是好孩子";
$str = iconv('gbk', 'utf-8', $str);

#打水印
imagettftext($im2,20,20,20,100,$color,$fontfile,$str);
imagettftext($im2,20,20,30,200,$color,$fontfile,$str);
imagettftext($im2,20,20,40,300,$color,$fontfile,$str);

imagepng($im2);

人气教程排行