手机版

尝试在php下使用GraphicsMagick的缩略图功能

时间:2021-10-21 来源:互联网 编辑:宝哥软件园 浏览:

常用的图像处理工具有GD、ImageMagick、GraphicsMagick等。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),然后以后每一个例子都用它:

顺便说一句:你现在可以吞下你的嘴了。1 gmconvert input . jpg-thumbnail ' 100 X100 ' output _ 1.jpg(9501 . 163.com)。

生成图片的实际大小为100x75,这意味着根据此命令,将生成缩略图,而不改变图片比例。这很好,但有一个潜在的问题:我们无法简单明了地知道图片的最终大小。因此,显示前端时无法设置img标签的宽度和高度属性。如果我没记错的话,一般建议设置宽度和高度属性,否则浏览器渲染可能会慢一点。缩略图2gm convert input . jpg-缩略图' 100x100!'输出_ 2 . jpg

实际生成的图片大小是定义好的,但是图片失真了,这有时是不可接受的。缩略图3gm convert input . jpg-缩略图' 100 X100 ' \-重心-范围100 X100 Output _ 3.jpg(9503 . 163.com)。

这一次,不仅尺寸有保证,比例也有保证。但是照片被剪掉了。缩略图4g mconvert input . jpg-缩略图' 100 X100 ' \-背景灰色-重心-extension 100 X100 output _ 4.jpg(9504 . 163.com)。

这一次,不仅尺寸,而且比例都得到了保证。同时图片没有裁剪,多余的部分按照指定的颜色填充。缩略图5GM Convert input . jpg-缩略图'[电子邮件保护]' \-背景灰色-重心-范围100 X100 Output _ 5.jpg(9505 . 163.com)。

这次尺寸和比例都有保证,其中10000是100x100的乘积,填充和切割之间做了平衡。了解了上面的例子,缩略图基本上可以被所有人吃掉,一定有一个适合你的需求。关于graphics Mack的信息非常少,但好消息是graphics Mack和ImageMagick的用法基本兼容,所以你可以通过ImageMagick的信息来应用它。补充:如果想让用户手动剪切第一张胶片,imgAreaSelect是个不错的选择。

版权声明:尝试在php下使用GraphicsMagick的缩略图功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。