在Imagemagick&;用于缩略图创建的GD


Choosing between Imagemagick & GD for thumbnail creation

我将编写一个用于创建缩略图的函数
我可以同时使用Imagemagick&GD库方法
哪种方法可以创建更好的缩略图,并且对服务器更快更好(加载…)?

感谢

根据我的经验,我认为ImageMagick渲染的质量更好。众所周知,ImageMagick速度更快,特别是如果您通过命令行(或PHP exec("convert…")使用它(例如,请参阅此基准)

关于质量,我在SO中发现了这一点:如何阻止GD2在调整图像大小时洗掉颜色?

GraphicsMagick

在尝试了这两种方法后,发现ImageMagick更好,但最终我都没有选择,而是选择了GraphicsMagick。

GraphicsMagick最初于2002年11月从ImageMagick 5.5.2派生而来,但从那时起就完全独立于ImageMagick项目。自从ImageMagick的分叉以来,许多作者使用开放开发模型进行了许多改进(见新闻),但没有破坏API或实用程序操作。

  • 通用汽车的效率更高,所以它用更少的资源更快地完成任务
  • 通用汽车体积更小、更紧凑(安装占地面积小3-5倍)
  • 通用汽车被用来处理世界上最大的照片网站(如Flickr和Etsy)上数十亿个文件
  • GM与其他安装的软件没有冲突
  • 通用汽车的安全问题和漏洞较少
  • GM valgrind的100%清洁(memcheck和helgrind)

此外。。

  • PECL包,gmagick PHP包装类
  • PHP文档:Gmagik
  • node.js的GraphicsMagick
$im = imagecreatefromjpeg('photo.jpg');
$ox = imagesx($im);
$oy = imagesy($im); 
$nx = 320;
$ny = 240;
$nm = imagecreatetruecolor($nx, $ny); 
imagecopyresized($nm,$im,0,0,0,0,$nx,$ny,$ox,$oy); 
imagejpeg($nm, 't_photo.jpg');

exec('convert photo.jpg -resize 320x240 t_photo.jpg');

你觉得怎么样?

此外,每一个好的缩略图都应该锐化一点。。。

exec('convert photo.jpg -resize 320x240 -unsharp 1.5×1.0+1.5+0.02 t_photo.jpg');

http://net.tutsplus.com/tutorials/php/create-instagram-filters-with-php/