Linux环境下如何使用PHP处理图像

这里我的例子是利用PHP中的Image函数实现动态生成GIF图象文件的,用户在不同的时间访问可以返回不同的小日历图片,代码如下:

利用PHP创建图像是相当容易的一件事情。只要安装一些第三方的库文件并具有一定的几何知识,就可以利用PHP来创建和处理图像了。目前PHP使用GD库处理图像。在PHP中一些图像函数是可以直接使用的,但是大多数函数需要安装GD函数库。GD库提供一系列函数进行画图、使用颜色、处理预存的图像和填充操作。GD库是Thomas
Boutell设计的ANSI
C语言编写,同时支持在perl、Tcl语言中作图。由于GD是一个可以被建立成共享或静态的库,所以在PHP使用GD库进行图像操作是非常容易的。GD图像库工作原理见图1。

?phpheader(Content-type: image/gif);$y=date(Y);$m=date(n);$w=date(w);$d=date(j);$ws[0]=Sun;$ws[1]=Mon;$ws[2]=Tue;$ws[3]=Wed;$ws[4]=Thu;$ws[5]=Fri;$ws[6]=Sat;$image = imagecreate(80,100);if ($w==0 ||$w==6) { $colorW= imagecolorallocate($image, 225, 0, 0); }else{ $colorW= imagecolorallocate($image, 0, 0, 255); }$colorbk = imagecolorallocate($image, 0,0,120);$colorGreen = imagecolorallocate($image, 0, 225, 0);$colorB = imagecolorallocate($image, 255,255,255);$colorBlack= imagecolorallocate($image, 0,0,0);imagefill($image, 0, 0, $colorbk);imagefilledrectangle($image, 10,10,70,90, $colorB);imagestring($image, 5, 23, 15,$y, $colorBlack); imagestring($image, 5, 36, 35,$m, $colorGreen);imagestring($image, 5, 32, 55,$d, $colorW); imagestring($image, 4, 30, 75,$ws[$w], $colorW);imagegif($image);?

图1 PHP图像调用原理

说明:您的PHP必须有支持GIF图象的GD
Library,如果您现在的PHP不支持,请去下载以前GD
Library;另外,附带问题一个,请大侠们指教:我怎么放大字体?

澳门新葡亰3522平台游戏,GD库目前由Boutell公司维护,官方网址是:
,本文写作时的最新版本是:2004年11月03日4发布的gd 2.0.33。

一. PHP支持的图像格式和字体

GD库版本PHP支持以下图像格式和字体:

1.PNG

PNG(Portable Network
Graphics)是一种能存储32位信息的位图文件格式,其图像质量远胜过gif。同gif一样,png也使用无损压缩方式来减少文件的大小。在压缩位图数据时,它采用了颇受好评的l
z77算法的一个变种。目前,越来越多的软件开始支持这一格式,在不久的将来,它可能会在整个Web上广泛流行。png图像可以是灰阶的或彩色的,也可以是8位的索引色。png图像使用的是高速交替显示方案,显示速度很快,只需要下载1/64的图像信息就可以显示出低分辨率的预览图像。与gif不同的是,png图像格式不支持动画。PNG是PHP支持的确省图像格式。

2.JPEG

JPEG(Joint Photographic Expert
Group)是24位的图像文件格式,也是一种高效率的压缩格式,文件格式是JPEG标准的产物,该标准由ISO与CCITT共同制定,是面向连续色调静止图像的一种压缩标准。其最初目的是使用64Kbps的通信线路传输720576分辨率压缩后的图像。通过损失极少的分辨率,可以将图像所需存储量减少至原大小的10%。由于其高效的压缩效率和标准化要求,目前已广泛用于彩色传真、静止图像、电话会议、印刷及新闻图片的传送上。但那些被删除的资料无法在解压时还原,所以jpeg文件并不适合放大观看,输出成印刷品时品质也会受到影响。一般情况下,jpeg文件只有几十KB,而色彩数最高可达到24位,所以它被广泛运用在互联网上,以节约宝贵的网络传输资源。