php 在png格式的图片上合成文字? RT需要在png格式的图片上合成一些文字,但是为什么会有黑色的背景?原图是但是我生成的图片是这样的浏览器看的效果我需要在原图下面的空白处合成一些字在居中位置,请高手帮帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是可能从真彩背景(imagecreatetruecolor)中创建的画布imagecreatetruecolor() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的黑色图像。不妨贴下你的代码看看 图片使用了 png 特有的透明效果(photshop看到的是全透明效果)在 GD 中拷贝一下就可以了$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));imagepng($im2); 但是我要的是这样的效果啊,就是不破坏原有的png图片的情况下,在图片的下面空白处,加一些文字啊。效果如下图帮忙看看,该怎么实现呢? $file = '1.png'; #打开图片 $im = @imagecreatefrompng($file); #设置水印字体颜色 $color = imagecolorallocatealpha($im,0,0,0); #设置字体文件路径 $fontfile = "msyhbd.ttf"; #水印文字 $str = "我们都是好孩子"; #打水印 imagettftext($im,30,0,50,400,$color,$fontfile,$str); imagettftext($im,20,0,50,450,$color,$fontfile,$str); imagettftext($im,20,0,50,480,$color,$fontfile,$str); header("Content-Type: image/png"); $newfile = imagepng($im); //imagedestroy($im); // imagejpeg($im,'water.jpg');请帮忙看看,谢谢! 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); php代码编译器的下载 .htaccess URL重写问题 关于汉字比较的问题? 高手帮忙下面JS代码换成PHP,谢谢 奇怪的编码问题 httpd-2.0.52 等同于apache2.0.52吗 【请教高手】怎么生成饼状图?需要用什么控件? 错误如下: 使用PHP4.06以上的SESSION安不安全哟。希望有经验者指教。关于网页上参数传递需要注意的。 redhat8.0,apache1.3.2,php4.3.1出现乱码,请问如何解决? 求教,如何判断是否是低字节? 请问怎么实现点链接直接下载文件,而不是打开一个文件
imagecreatetruecolor() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的黑色图像。不妨贴下你的代码看看
在 GD 中拷贝一下就可以了$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));imagepng($im2);
但是我要的是这样的效果啊,就是不破坏原有的png图片的情况下,在图片的下面空白处,加一些文字啊。效果如下图帮忙看看,该怎么实现呢?
$file = '1.png';
#打开图片
$im = @imagecreatefrompng($file); #设置水印字体颜色
$color = imagecolorallocatealpha($im,0,0,0);
#设置字体文件路径
$fontfile = "msyhbd.ttf"; #水印文字
$str = "我们都是好孩子"; #打水印
imagettftext($im,30,0,50,400,$color,$fontfile,$str);
imagettftext($im,20,0,50,450,$color,$fontfile,$str);
imagettftext($im,20,0,50,480,$color,$fontfile,$str);
header("Content-Type: image/png");
$newfile = imagepng($im);
//imagedestroy($im);
// imagejpeg($im,'water.jpg');
请帮忙看看,谢谢!
$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);