konakona
PHP GD生成透明文字水印注意事项
PHP GD生成透明文字水印注意事项

(被禽兽般的GD折磨得不成人形,只剩一个衣角了……)

今早被GD强暴了……太多问题,总结一下经验。

生成文字水印,无法就是将文字变成透明png后copy到主图片里……所以这里你是先用imagettftext将文字变水印图片,还是直接用水印图片,没什么区别。

imagecopymerge() 不支持第2个参数画图的透明,要用imagecopy。

使用imagettftext()前通过phpinfo()检查你的GD是否支持TrueType,不然白忙活。

imagettftext()里的字体要用相对路径,或绝对路径,不要用URL。

比手册好看点的imagettftext参数介绍:imagettftext($sourceImg, $size, 0, 100, 200, $white, $font, $str);    //图像、大小、弧度、X高、Y宽、颜色、字体、内容

imagesavealpha($shuiyin_im, true); 这样可以使打开的png不丢失alpha通道。

header图片及输出不需要繁多的if,可以这样:

$imagetype = array("1"=>"gif","2"=>"jpeg","3"=>"png");

$iinfo=getimagesize(‘图片文件’)

header("Content-type: ".$iinfo['mime']);

$f ="imagecreatefrom".$imagetype[$iinfo[2]];
$simage = $f($destination);

$f ="image".$imagetype[$iinfo[2]];

$f($simage,$destination);//相当于imagejpeg('图像')

每次处理完一副图像后记得要释放空间imagedestroy($im),否则太浪费服务器资源了……

送一个缩略图+生成水印的类……欢迎下载试用。

赞赏
没有标签
首页      程序开发      PHP      PHP GD生成透明文字水印注意事项
https://secure.gravatar.com/avatar/3b712b34a0e1b689cfb524c9c6bcdc47?s=256&r=g

团哥

文章作者

继续玩我的CODE,让别人说去。 低调,就是这么自信。

发表评论

textsms
account_circle
email

  • https://secure.gravatar.com/avatar/?s=80&r=g
    Hiboy

    哥们,你送的东西在哪呢?

    9年前回复

konakona

PHP GD生成透明文字水印注意事项
(被禽兽般的GD折磨得不成人形,只剩一个衣角了……) 今早被GD强暴了……太多问题,总结一下经验。 生成文字水印,无法就是将文字变成透明png后copy到主图片里……所以这里你是先用image…
扫描二维码继续阅读
2010-04-09