快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-26

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

<?php
/*
Photozero.net 改编自PHP参考文档
*/

//设置Header,如果输出图片不成功,请先暂时去掉这代码,查看错误信息
header("Content-type: image/png");
header("Cache-Control: no-cache");

$zh_text = ''黑体'';
$en_text = ''Test'';

//要输出的字
$zh_font = ''simhei.ttf'';
$en_font = ''arial.ttf'';

//字库的文件名。建议中文字体和E文字体用不一样的,因为宋体、黑体字库里的英文实在不咋滴
//这里用的都是TTF字体。懒得上网找就到 C:\WINDOWS\Fonts 下,Copy几个字体到程序目录下就好了
// 创建一个真彩的图片背景,参数是 X长 ,Y宽。
$im = imagecreatetruecolor(400, 400);

//或者可以调用已有的PNG图片等 : $im = imagecreatefrompng(''background.png'');
// 定义几个色彩
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);

//填充背景为白色
imagefill($im, 0, 0, $white);

//将背景透明化
imagecolortransparent($im,$white);

//以上两行是创建透明图片的关键!
//很多人反应, imagecreatetruecolor创建后的图片,背景颜色是黑的,无论怎么修改都不能变成白色的
//我先将背景填充为白色,再做透明处理就可以了!在Firefox3和IE7下测试成功!
// 这是一个很简单的产生阴影的效果。
//先在原本要输出的位置的偏左下角一点点输出灰色的字体,接着再用黑色字体写上去就有阴影效果了
//下次再提供点别的花样~
//imagettftext($im, 20, 0, 11, 21, $grey, $en_font, $en_text);

// 写入字体
imagettftext($im, 12, 0, 100, 120, $black, $en_font, $en_text);
imagepng($im);
imagedestroy($im);

// 不用说了,输出图片,然后清除缓存
//函数都是用PHP内置的,如果有不了解的请参考一下文档。
?>

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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号