Maison > Article > développement back-end > 2014 年10个最佳的PHP图像操作库,2014php_PHP教程
Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Python, PHP, OCaml等等诸多编程语言的支持. 除了生成HTML输出之外, 你还可以使用php以众多的像 PNG, JPEG, GIF, WBMP,以及 XPM这样的图形文件格式来创建和计算图形文件. 并且,php的使用还能让你可以直接向一个浏览器输出图像流. 为了做到这一点,你需要借助于GD库图像功能的使用来编译php.
在这篇文章中,你将会学习到10个最佳的php图形计算库,它们可以帮助你简化工作. 这些图形计算库将会在你的与图形相关的工作中帮助到你. 其中一些最好的为开发者所使用的php图形计算库在下面有被介绍:
1. Imagine
该图像处理库是用PHP 5.3建立的面向对象的PHP库。通过使用这个库,你可以很容易地对图像进行例如裁剪、调整大小和放置过滤器等工作。为了产生指定的RGB码值和对象透明度百分比,这个库的颜色类在其构造函数中有两个参数。
2. Php Graphic Works
这个库被创建用来在服务器端进行图像处理。使用这个图像库允许你用一个简单的方法进行复杂的图像处理。可对图像进行的操作,包括旋转,裁剪,缩放,拉伸和翻转。而您只需要通过一堆代码就可以完成这些。
3. Zebra Image
这款轻巧和面向对象的图像处理库是用PHP构建的。它支持的图像格式包括JPG,GIF 和 PNG。它有一个独特的能力,就是在每一个动作之后都可以把一种格式转换为另一种格式。
4. Php5 Image Manipulation
这个完全面向对象的图像处理库可用于PHP和GD2 。它被认为是 PHP-image 项目的一种扩展形式。这个面向对象的图像处理库提供各种ICO图像文件类型,如PNG,GIF ,PSD ,JPEG和ICO 。此外,它还能输出由GD2支持的各种图像文件类型。
5. 动态虚拟图像生成
这是免费的PHP脚本库,通过它你可以生成任何尺寸和颜色的图片。此外,你可以在图像上面输入文字。
6. WideImage
Wide Image也被认为是用于图像处理的面向对象的库。使用这个库,你可以执行处理、加载、以图像格式保存图像等一般操作。
7. Image Cache
这个轻量级的PHP类用于移动、压缩和缓存浏览器中的图像。然后,它返回打印在 image标签中的图像的新来源。您可以通过设置各种选项来使用这个库,比如 base URL,目录等。
8. Image Workshop
这是一个被认为是基于图层的图像编辑软件的可自由使用的PHP类。它允许你叠加多个层和具有执行比如把一个图像放到另一个上面进行移动,和调整大小,裁剪,写字,旋转,叠加等功能的能力。
9. Asido
这是个有着操作图像丰富功能的PHP库,适合任何运行环境,如 Magick Wand, GD2, 和Image Magick。它同时支持PHP4和PHP5。
10. PhpThumb
该PHP库除了支持各种流行的图像格式以外,还接受所有图像资源类型。使用该图像操作库,你可以旋转、裁剪、水印图片。除此之外,你还可以定义图片的像素。
调用举例:通过GD输出 "中国" 两个汉字
example.php
//Header("Content-type: image/gif");
$im = imagecreate(400,300);
$bkg = ImageColorAllocate($im, 0,0,0);
$clr = ImageColorAllocate($im, 255,255,255);
$fnt = "d:/winnt/fonts/simhei.ttf";
include("gb2utf8.php");
$str = gb2utf8("中国");
ImageTTFText($im, 20, 0, 10, 20, $clr, $fnt, $str);
ImageGif($im);
ImageDestroy($im);
如果存图片流,数据库会非常庞大,建议还是存路径,图片放到统一的目录下,方便管理
存就是insert 字段用vchar的存相对路径就可以了
读就是查数据库 然后放到数组里 、
显示就可以了
function uploadPhoto ($file) {
$this->result = false;
$this->error = false;
// -- save parameters
$this->_file = $file;
//get path
$this->createUploadDir();
$this->_destination=SystemProperties::$UPLOAD_ROOT_PATH['photo'];
//if (!is_null($allowed)) { $this->_allowed = $allowed; } else { $this->_allowed = array('jpg','jpeg','gif','png'); }
// -- check that FILE array is even set
if (isset($file) && is_array($file) && !$this->upload_error($file['error'])) {
// -- cool, now set some variables
$fileID=$this->_IDGenerator->getNextId('IMAGE');
$fileExt=$this->ext($file['name']);
$fileName =$fileID.'.'.$fileExt;
$this->createFileDir('image',$fileName);
$fileTmp = $file['tmp_name'];
//$fileSize = $file['size'];
//$fileType = $file['type'];
$fileError = $file['error'];
// -- update name
$this->_name = $this->_destination.$fileName;
// -- it's been uploaded with php
if (is_uploaded_file($fileTmp)) {
// -- where to put the file?
$filePath=$this->_fileUtil->getFilePath($fileName);
$output = $this->_destination.$filePath['filePath'];
......余下全文>>