黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 网管频道 >> *NIX网管 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[组图]Linux环境下如何使用PHP处理图像
      ★★★★

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

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-3-1 9:56:18

 

 四.应用进阶:

  1.修改输出格式:

  上面介绍了基础设定,我们知道PHP支持多种图像格式,如果你希望以JPEG格式输出的话,可以修改步骤3将修改为:

Header (‘Content-type: image/jpeg’);
ImageJPEG ($im);

  然后存盘,重新启动Apache web服务器。然后使用浏览器。注意此时浏览器上部输出的格式,见图4.



图4 JPEG图像格式输出到浏览器的界面

  当然如果希望输出的图像到一个文件而不是浏览器,可以通过修改函数完成:

  ImageJPEG ($im,$filename);

  这样图像会以JPEG格式输出到filename文件。

  2.从其他文件创建背景

  上面介绍了通过调用$im = ImageCreateTrueColor()函数建立图像标示符号。这里介绍一种通过读入一个已有的图像文件,然后对图像进行过滤,改变其大小或者在基础上添加其他图像。根据所读入文件格式不同通常是:ImageCreateFromPNG(), ImageCreateFromJPEG(), 和ImageCreateFromGIF(),这三个函数都是以文件名为参数。除了直接以PNG、JPEG等图像加入IMG标记,还可以在SRC属性中使用可以能够生成图像的PHP脚本。例如:

  <img src=“si1.php” height=“200” width=“200” alt=“PHP going ” />

  上面脚本会调用si1.php然后在浏览器中输出文本:PHP going

  3. 为PHP配置ImageMagick库

  ImageMagicK主要用于对图像进行转换、编辑、组合、特殊处理等,是另外一款非常好用的图像处理工具。它支持对多种格式的图像进行处理,最多支持的图像格式有157种格式,包括目前流行的TIFF、JPEG、PNG、PDF、PhotoCD及GIF等。Image MagicK还支持动态图像创建,这一点非常适合在Web页面上使用。Image MagicK支持通过命令行方式对图像进行处理。另外,它还提供编程接口,高级用户可以通过C、C++、Perl、Java接口对图像进行个性化处理。Image MagicK支持数百种的图像处理,提供多种过滤功能。Image MagicK方便地支持图像格式转换,支持透明图像、可制作多帧GIF图像、进行图像合并等。图像操作包括缩放、旋转、锐化、减色或特殊效果处理等。并且能够以另一种图象格式保存。ImageMagick库并不是标准PHP的一部分,但是可以通过PHP扩展类库(PECL 是通过 PEAR 打包系统来的 PHP 扩展库仓库,PECL官方网站:http://pecl.php.net/package/ )很容易安装这个函数库。和GD2相比ImageMagick库功能更加丰富。特别是你如果希望创建GIF特别是动画GIF,那么推荐使用ImageMagick。ImageMagick官方网站:http://www.imagemagick.org 。下载安装配置步骤如下:

#wget http://nchc.dl.sourceforge.net/sourceforge/imagemagick/ImageMagick-5.5.7-35.tar.bz2

#bunzip2 ImageMagick-5.5.7-35.tar.bz2

#tar xvf ImageMagick-k-5.5.7-35.tar
#cd ImageMagick-5.5.7-35

#./configure LDFLAGS="-L/usr/lib" CPPFLAGS="-I/usr/include" \
--prefix=/usr/local/ImageMagick --enable-shared \
--enable-lzw # 打开lzw格式的压缩#
make
make install

wget wget http://pecl.php.net/get/imagick-0.9.11.tgz

mkdir ext/ imagick

tar zxvf imagick-0.9.11.tgz

phpize #phpize命令是用来准备 PHP 扩展库的编译环境的。#

cd PHP_SRC_DIR/ ext/magickwand # PHP_SRC_DIR是指你的php源码目录#

rm configure

./buildconf --force

 说明:如果你的PHP的安装不是在/usr下,你必须从你的安装目录下的bin/目录调出phpize.比如,如果你已经在/usr/local/php下安装了PHP,你就需要执行/usr/local/php/bin/phpize。可以使用命令:“which phpize ”查看位置,如果是通过rpm 包安装的可以用这个命令查看:“rpm -qail |grep phpize”。

  然后进行php的第二次编译

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql \

--with-imagick=/usr/local/ImageMagick

--with-apxs=/usr/local/apache/bin/apxs

make;make install

  以上编译结束后,重新启动Apache后运行phpinfo()来检查一下新的设置是否生效了。如果出现如下选项,见图5.



图5 为PHP加入ImageMagick库

  从图5可以看到配置ImageMagick库后可以处理的图像格式增加到近150多种。ImageMagick 可以帮助PHP完成许多任务以满足您的命令行图像处理需求。可以大幅度地减轻工作负担。也可以通过 C、C++、Perl、Python、Java 和其它几种语言使用 ImageMagick,Linux 程序员会喜欢这样做。另外最新ImageMagick网站的已经有了一个叫MagickWand for PHP的插件,也可以支持PHP。读者可以自己测试。另外如果希望了解更多的PHP图像操作技巧可以访问:http://www.devshed.com,这里有许多动态图像的PHP脚本。

  总结:本文分五个部分介绍了基于Linux平台下的PHP图像操作技巧。本文所有脚本在Red Hat Enterprise Linux AS 4.0环境下测试通过,PHP版本4.3.9,GD库2.08。

  小资料:

  PHP安装GD库后和图像相关的函数包括:

  GetImageSize: 取得图片的长宽。
  ImageArc: 画弧线。
  ImageChar: 写出横向字符。
  ImageCharUp: 写出直式字符。
  ImageColorAllocate: 匹配颜色。
  ImageColorTransparent: 指定透明背景色。
  ImageCopyResized: 复制新图并调整大小。
  ImageCreate: 建立新图。
  ImageDashedLine: 绘虚线。
  ImageDestroy: 结束图形。
  ImageFill: 图形着色。
  ImageFilledPolygon: 多边形区域着色。
  ImageFilledRectangle: 矩形区域着色。
  ImageFillToBorder: 指定颜色区域内着色。
  ImageFontHeight: 取得字型的高度。
  ImageFontWidth: 取得字型的宽度。
  ImageInterlace: 使用交错式显示与否。
  ImageLine: 绘实线。
  ImageLoadFont: 载入点阵字型。
  ImagePolygon: 绘多边形。
  ImageRectangle: 绘矩形。
  ImageSetPixel: 绘点。
  ImageString: 绘横式字符串。
  ImageStringUp: 绘直式字符串。
  ImageSX: 取得图片的宽度。
  ImageSY: 取得图片的高度。
  ImageTTFBBox: 计算 TTF 文字所占区域。
  ImageTTFText: 写 TTF 文字到图中。
  ImageColorAt: 取得图中指定点颜色的索引值。
  ImageColorClosest: 计算色表中与指定颜色最接近者。
  ImageColorExact: 计算色表上指定颜色索引值。
  ImageColorResolve: 计算色表上指定或最接近颜色的索引值。
  ImageColorSet: 配置色表上指定索引的颜色。
  ImageColorsForIndex: 取得色表上指定索引的颜色。
  ImageColorsTotal: 计算图的颜色数。
  ImagePSLoadFont: 载入 PostScript 字型。
  ImagePSFreeFont: 卸下 PostScript 字型。
  ImagePSEncodeFont: PostScript 字型转成向量字。
  ImagePSText: 写 PostScript 文字到图中。
  ImagePSBBox: 计算 PostScript 文字所占区域。
  ImageCreateFromPNG: 取出 PNG 图型。
  ImagePNG: 建立 PNG 图型。
  ImageCreateFromGIF: 取出 GIF 图型。
  ImageGIF: 建立 GIF 图型。

上一页  [1] [2] [3] 

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886