PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php下尝试使用GraphicsMagick的缩略图功能大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

常用的图片处理工具有GDImageMagickGraphicsMagick等等。GD就是个阿斗,略过不提;ImageMagick是目前最流行的图片处理工具,它的功能非常丰富;GraphicsMagick的功能略逊于ImageMagick,但是它的效率更强悍,就好比Apache和Nginx一样,一个功能更强,一个效率更胜。现在更看重效率,所以本文就以GraphicsMagick为例来说说:对于PHPer来说,有两种使用GraphicsMagick的方式:1:使用PECL Gmagick扩展。
2:使用GraphicsMagick命令行。PECL扩展的方式我并不喜欢,一来PECL代码Bug多多,二来PECL扩展的实现,代码写起来很罗嗦:比如缩放一个GIF动画图片,如果你用命令行的方式,一句话就搞定,而用PECL扩展的话,还得先算动画有几帧,再循环处理,很麻烦。所以说我更倾向于使用命令行的方式,虽然命令行操作听起来很“重”,但如果建立若干台图片服务器,通过Gearman连接起来,其实很是很有弹性的。下面我们就以GraphicsMagick为例,采用命令行的方式来看看如何使用缩略图功能:先上一个原始图片(input.jpg:160x120),以后的各个例子都会用到它:<IMG class=blogimg src="http:https://files.code.cc/upload/201101/20110101225956950.jpg" border=0 small="0">BTW:列位看官现在可以咽口水了。

缩略图1

gm convert input.jpg -thumbnail '100x100' output_1.jpg<IMG class=blogimg src="http:https://files.code.cc/upload/201101/20110101225956736.jpg" border=0 small="0">实际生成图片大小是:100x75,也就是说说按此命令,会保持图片比例不变生成缩略图。这样很不错,但是有一个潜在的问题:我们不能简单明了的知道图片的最终大小,结果是前端显示的时候,无法设置img标签的width和height属性,如果我没记错的话,一般是推荐设定width和height属性的,否则浏览器渲染起来可能会稍稍慢一点。

缩略图2

gm convert input.jpg -thumbnail '100x100!' output_2.jpg<IMG class=blogimg src="http:https://files.code.cc/upload/201101/20110101225957460.jpg" border=0 small="0">这次
实际生成图片大小按定义来,但图片变形了,有时候这是不能接受的。


缩略图3

gm convert input.jpg -thumbnail '100x100^' \
-gravity center -extent 100x100 output_3.jpg<IMG class=blogimg src="http:https://files.code.cc/upload/201101/20110101225957140.jpg" border=0 small="0">这次不仅保证了大小,还保证了比例。不过图片经过了裁剪。

缩略图4

gm convert input.jpg -thumbnail '100x100' \
-background gray -gravity center -extent 100x100 output_4.jpg<IMG class=blogimg src="http:https://files.code.cc/upload/201101/20110101225957678.jpg" border=0 small="0">
这次不仅保证了大小,还保证了比例,同时没有对图片进行任何裁剪,多余的部分按指定颜色进行填充。

缩略图5

gm convert input.jpg -thumbnail '10000@' \
-background gray -gravity center -extent 100x100 output_5.jpg<IMG class=blogimg src="http:https://files.code.cc/upload/201101/20110101225957265.jpg" border=0 small="0">这次保证了大小和比例,其中的10000就是100x100的乘积,同时在填充和裁剪之间做了一个平衡。
明白了以上几个例子,缩略图基本就能通吃了,肯定有一种会适合你的需求。GraphicsMagick的资料非常少,但好消息是GraphicsMagick和ImageMagick的用法基本兼容,所以你可以通过
ImageMagick的资料来套用。补充:如果想让用户手动裁剪头片的话,imgAreaSelect是个好选择。

大佬总结

以上是大佬教程为你收集整理的php下尝试使用GraphicsMagick的缩略图功能全部内容,希望文章能够帮你解决php下尝试使用GraphicsMagick的缩略图功能所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: