首页 电脑学院 黑客教程 网站技术 网页特效 免费论文 公文写作 演讲发言 实用文档 职场指南 时尚生活 情感男女 其他资讯

您的位置:首页-> 网站技术-> PHP技术-> 创建并处理图象
创建并处理图象
在安装了一些第三方函数库之后,结合图形处理技能,你就可以迅速使用PHP创建和处理图像了。事实上,你也不需要很多几何学知识——因为我在中学的时候这门功课曾经不及格而现在却能使用PHP创建图像!



在使用基本的图像创建函数之前,需要安装GD库。要使用JPEG相关的图像创建函数还需要安装jpeg-6b。在图像中使用Type 1字体的时候还必须安装t1lib。

在这里,你还需要对你的系统设置进行进一步地调整。首先安装t1lib并结束,然后是jpeg-6b。第三步安装GD函数库。确保以上三部分按顺序安装,原因是你需要编译GD库才能使用jpeg-6b库。如果首先安装jpeg-6b,编译就会出错,这会让你不知所措够上一段时间。

在三函数库之后,重新配置PHP。这是在轻松安装PHP的DSO版本时的典型方法。然后执行make clean,命令,并在当前配置提示中加入以下代码:

--with-gd=[/path/to/gd]

--with-jpeg-dir=[/path/to/jpeg-6b]

--with-t1lib=[/path/to/t1lib]

最后执行make、make install完成配置。重新启动 Apache,并运行phpinfo()函数以检查新功能是否正常运行,然后就可以开始了。

取决于安装的GD库版本,你可能具有创建GIF或者PNG图像的能力。关键是如果你已经安装了gd-1.6或者早期版本,则可处理GIF文件,但不能处理PNG文件;如果安装了gd-1.6或者以后版本,你可以处理PNG文件却又不能处理GIF文件。

创建一个简单的图像需要几个函数。我将按步骤演示如下。

输出包含你所创建图像MIME类型的文件头,本例中为PNG。


使用ImageCreate()创建一变量存放空白图像。该函数需要一个图片像素尺寸。格式为ImageCreate(x_size, y_size),对250*250像素的图片,如下:

$newImg = ImageCreate(250,250);

由于此时你的图像还是空白,所以需要用某些色彩填满它。但首先需要用ImageColorAllocate()函数按照颜色的RGB值为每种颜色确定名字。函数的格式为ImageColorAllocate([image], [red], [green], [blue])。如是天蓝色,应使用:

$skyblue = ImageColorAllocate($newImg,136,193,255);



接着,用ImageFill()函数为图像填充以上颜色。实际上ImageFill()函数有多个版本,如ImageFillRectangle(), ImageFillPolygon()等等。为简单起见,采用ImageFill()函数进行颜色填充,格式如下:

ImageFill([image], [start x point], [start y point], [color])

ImageFill($newImg,0,0,$skyblue);

最后,创建最终图像并破坏图像流以释放内存并在结束后整理系统:

ImagePNG($newImg);

ImageDestroy($newImg); ?>

你的代码应该看起来像这样:


$newImg = ImageCreate(250,250);

$skyblue = ImageColorAllocate($newImg,136,193,255);

ImageFill($newImg,0,0,$skyblue);

ImagePNG($newImg);

ImageDestroy($newImg);

?>

如果调用脚本skyblue.php 并用自己的浏览器访问它,就会看到一个250*250像素的蓝色PNG图像。

还可以用图像创建函数处理图像,如对大图像创建的缩略图等。

假设你打算为某图片制作一个35*35像素大小的缩略图。所要做的即创建一个新的35*35像素大小图像;并产生一个包含原始图像内容的图像流;然后改变原始图像的大小,并将其放到新的空白图像中去。

达到此目的的关键函数是ImageCopyResized(),,格式如下所示:ImageCopyResized([new image handle],[original image handle],[new image X],[new Image Y],[original image X],[original image Y], [new image X], [new image Y],[original image X],[original image Y]);

注释在代码下面:


header("Content-type: image/png");

/* 设置变量保存新图片长宽*/

$newWidth = 35;

$newHeight = 35;

/* 以给定长和宽创建空白新图片 */

$newImg = ImageCreate($newWidth,$newHeight);

/* 从原始大图获取数据 */

$origImg = ImageCreateFromPNG("test.png");

/* 复制更改尺寸后的图片。使用函数 ImageSX() 及 ImageSY 获取原始图片的x及x尺寸 */

ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));

/* 创建最终图片并清空内存 */

ImagePNG($newImg);

ImageDestroy($newImg); ?>

如果调用脚本resized.php并使用浏览器访问此文件,可以看到一个35*35像素的缩略PNG图片。



在百度中查找更多创建并处理图象的内容
职场宝典   职场故事   职场跳槽   职场文化   职场理财   职场充电   情感天地   职场女性   职场礼仪   职场新人
报告总结   述职报告 工作总结 调查报告 工作汇报 计划方案 个人总结 社会实践 规章制度 调研报告 
  实习报告 考察报告 辞职报告 
演讲发言   竞职演说   就职演说   精彩演说   爱国演讲   英语演讲   十七大演讲   安全生产演讲稿   
节日祝福   重阳节 国庆节 教师节 中秋节 情人节 七夕节 劳动节 妇女节 清明节 愚人节 春节 元旦 圣诞节  儿童节  端午节 母亲节 新婚祝福 生日祝福 
讲话致辞   开业开幕   会议主持   庆典致辞   会议发言   党风廉政   党政报告   贺电慰问   婚丧嫁娶   思想宣传
法律常识   基本常识   法律文书   权益常识   劳动保障   婚姻继承   民事诉讼   刑事诉讼   
党建材料   入党申请   思想学习   党性分析   思想汇报   转正申请   民主生活   党委党建   入团申请   申报材料
求职简历   个人简历   求职自荐   求职谋略   面试技巧   求职英语   自我鉴定   英文简历   简历封面
心得体会   心得体会   经验交流   读后感   
时政热点   和谐社会   先进性教育   新农村建设   十七大   八荣八耻   科学发展观   劳动合同法   
人际沟通   社交技巧   社交礼仪   口才技巧   谈话技巧   演讲技巧   
营销技巧   电话销售   网络销售   推销技巧   促销技巧   销售口才   营销手段   销售技巧   谈判技巧   

“ 创建并处理图象”来源于网络,版权归作者所有!勿用于商业用途。

PHP技术

ASP技术
PHP技术
JSP技术
.NET技术
服务器技术
数据库开发
其它类

本类阅读TOP10

·适应中文的substr函数
·PHP.INI配置文件漫游(2)
·Win2000下PHP服务器安装攻略
·获得客户端真实的IP地址
·网站测试技术简介
·PHP邮件专题
·什么是Session?
·Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
·最好的邮件编码解码类,再没有比这个好的了!贴不下了(2)6
·在Windows NT 4.0下安装ActivePerl

广告


关于本站|服务条款|广告服务|客服中心|发布文章|网站留言