1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > GD库函数实现中文水印

GD库函数实现中文水印

时间:2018-11-10 05:00:47

相关推荐

GD库函数实现中文水印

php教程|php手册

库,函数,实现,中文,水印,imagecreatetruecolor,100,新建,一个,真,彩色,图像,white,i

php教程-php手册

$im = imagecreatetruecolor(100,100);//新建一个真彩色图像

易语言多开源码,ubuntu所在的文件,c 传送文件给tomcat,爬虫箱天窗,濮阳php培训学校,随州市seo关键词优化有用吗lzw

$white = imagecolorallocate($im,255,235,255);//为一幅图像分配颜色,这一点和我的设计常识有区别..我从来没想过,在绘画时,要先给指定的图像标识分配颜色..这个函数经常和imagefill函数搞混.

国际转运源码,vscode 复制上一行,系统换成ubuntu,tomcat返回数据乱码,海南爬虫公司,php如何开启gd,湖北seo关键词排名软件,网站加关键词代码lzw

imagefill($im,0,0,$white); //区域填充

易语言qq登陆源码,电信专业会学vscode吗,ubuntu纯净版,tomcat启动报400,简历模板爬虫,php ajax 点赞,贵州seo网络推广课程培训价格,cms搭建网站lzw

$black = imagecolorallocate($im,250,50,50);//为一幅图像分配颜色

imagerectangle($im,5,5,50,50,$black);//绘制一个矩形

header(“Content-type: image/jpeg”); //发送标头,配合imagejpeg直接在浏览器中输出图像。

imagejpeg($im,ImageName,100);//输出一个像图,定名与质量

imagedestroy($im);//释放与 image 关联的内存。image 是由图像创建函数返回的图像标识符

?>

利用 GD 库实现”中文水印”

发表时间: -12-29 20:50 作者: hy0kl 来源: PHPChina 开源社区门户

此帖首先特别鸣谢 lmhllr 仁兄,没有他的指导偶此刻可能还在搜资料中 ing……

首先申明本人是新手,对于 GD 库是一知半解,不到之处还请大家见谅吧.^_^

自从在网上看到 php + GD 库能实现图片加”中文水印”,开始了 GD 库的学习.

于是参照着下载的资料改了一个脚本,能实现 php绘图,当时很是窃喜了 N 久.(见笑!)

之后就用 imagestring() 函数在图像上实现了英文的”水印”;但当偶尝试着用它加”中文水印”时发,打印出来的全是乱码.

于是又开始踏上解决乱码的路途.

许久没有得到满意的答案,就放弃了.

最近,发现 lmhllr 仁兄的个性签名十分特别,询问之后终于知道原因了: GD 库对中文支持的不是很好, imagettftext() 函数的字符集若是 UTF-8 ,则可以直接传递.

换言之,必需将 gb2312 的字符集转换成 UTF-8 的字符.可以使用 iconv() 函数来实现.偶的珍藏版 PHP 手册居然查不到本函数, ,不过可以到 php 官方网站查看 /manual/zh/ref.iconv.php ,只可惜并不是所有函数都有中文翻译,偶的 E 文不好,只能看着 lmhllr 仁兄的例子脚本猜了.此函数将 gb2312 的字符转换成 UTF-8 的字符.然后再调用函数,实现加”中文水印”.

偶在偶的机子测试后得出:GD 支持的中文字体有 simhei.ttf(黑体) , SIMKAI.TTF(楷体) , SIMFANG.TTF(仿宋) ,SIMSUN.TTC(宋体&新宋体)等了.当然,脚本里面只能代入英文名称了,诶,谁叫操作系统不是咱写的呢.

希望本帖能给和偶一样遭遇的同志们一点启发.^_^

下面是一个简单的测试脚本了.

[php]

Header(“Content-type: image/png”); /*通知浏览器,要输出图像*/

$im = imagecreate(400 , 300); /*定义图像的大小*/

$gray = ImageColorAllocate($im , 235 , 235 , 235);

$pink = ImageColorAllocate($im, 255 , 128 , 255);

/*

$fontfile = “C:WINDOWSFontsSIMHEI.TTF”;

不好意思,这句老是粘上后一提交就丢了,不知道是怎么回事,想测试的朋友们将注释去了现测试吧

*/

/* $fontfile 字体的路径,视操作系统而定,可以是 simhei.ttf(黑体) , SIMKAI.TTF(楷体) , SIMFANG.TTF(仿宋) ,SIMSUN.TTC(宋体&新宋体) 等 GD 支持的中文字体*/

$str = iconv(GB2312,UTF-8,中文水印!!!); /*将 gb2312 的字符集转换成 UTF-8 的字符*/

ImageTTFText($im, 30, 0, 50, 140, $pink , $fontfile , $str);

/* 加入中文水印 */

Imagepng($im);

ImageDestroy($im);

?>[/php]

OK ,收工,但愿这是本人的第一个有质量的水帖.

下面是本例子的效果了.再次对 lmhllr 表示由衷的感谢!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。