PHP创建(中/英文字)图片

本文介绍了一段PHP代码,该代码能够创建带有自定义字体的图片,并能在图片上写入中文和英文文本,同时具备阴影效果。适用于制作验证码或图片水印。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个PHP代码是我做的一个程序的一部分,现在贴出来分享一下。这个代码的功能是创建一个图片,不但可以用自定义字体在图片上写英文,也可以写中文了!这个代码适用于验证码、给图片加水印等功能。

 1 <?php
 2 /*
 3 Photozero.net 改编自PHP参考文档
 4 */
 5 
 6 //设置Header,如果输出图片不成功,请先暂时去掉这代码,查看错误信息
 7 header("Content-type: image/png");
 8 header("Cache-Control: no-cache");
 9 
10 $zh_text = '黑体';
11 $en_text = 'Test';
12 
13 //要输出的字
14 $zh_font = 'simhei.ttf';
15 $en_font = 'arial.ttf';
16 
17 //字库的文件名。建议中文字体和E文字体用不一样的,因为宋体、黑体字库里的英文实在不咋滴
18 //这里用的都是TTF字体。懒得上网找就到 C:\WINDOWS\Fonts 下,Copy几个字体到程序目录下就好了
19 // 创建一个真彩的图片背景,参数是 X长 ,Y宽。
20 $im = imagecreatetruecolor(400, 400);
21 
22 //或者可以调用已有的PNG图片等 : $im = imagecreatefrompng('background.png');
23 // 定义几个色彩
24 $white = imagecolorallocate($im, 255, 255, 255);
25 $grey = imagecolorallocate($im, 128, 128, 128);
26 $black = imagecolorallocate($im, 0, 0, 0);
27 
28 //填充背景为白色
29 imagefill($im, 0, 0, $white);
30 
31 //将背景透明化
32 imagecolortransparent($im,$white);
33 
34 //以上两行是创建透明图片的关键!
35 //很多人反应, imagecreatetruecolor创建后的图片,背景颜色是黑的,无论怎么修改都不能变成白色的
36 //我先将背景填充为白色,再做透明处理就可以了!在Firefox3和IE7下测试成功!
37 // 这是一个很简单的产生阴影的效果。
38 //先在原本要输出的位置的偏左下角一点点输出灰色的字体,接着再用黑色字体写上去就有阴影效果了
39 //下次再提供点别的花样~
40 //imagettftext($im, 20, 0, 11, 21, $grey, $en_font, $en_text);
41 
42 // 写入字体
43 imagettftext($im, 12, 0, 100, 120, $black, $en_font, $en_text);
44 imagepng($im);
45 imagedestroy($im);
46 
47 // 不用说了,输出图片,然后清除缓存
48 //函数都是用PHP内置的,如果有不了解的请参考一下文档。
49 ?>

整个代码的功能是比较单一的,但这是一个创建图片比较基本的框架。无论是做验证码还是要提供显示IP的服务,只要略微修改就很快能用了。就留着这代码备用吧,以后哪天说不定就用上了。

转载地址:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2008/1219/186.html

转载于:https://www.cnblogs.com/mylikr/p/3230507.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值