没有 Imagick 的图像调整大小并失去透明度
Posted
技术标签:
【中文标题】没有 Imagick 的图像调整大小并失去透明度【英文标题】:Image resize without Imagick and losing transparency 【发布时间】:2011-10-17 03:55:43 【问题描述】:有没有办法使用以下格式调整图像大小:GIF
、PNG
、JP(E)G
,而无需安装 Imagick 等其他类?
最重要的是图像不能失去透明度(PNG、GIF),如果是动画,调整大小,但不会丢失GIF
动画。
【问题讨论】:
【参考方案1】:php 有一个名为GD
的扩展,应该安装
GD Extension Reference
你可以使用。在上面的页面上有一堆例子,可以完全按照你的意愿去做。我个人没有将它用于动画 GIF 图像,但用于其他图像格式。但有一件事是,JPEG 图像在这个库中使用 大量 RAM,因为该库将 JPEG 图像解压缩为其字节格式 - 基本上使其相当于 1670 万色位图。
要查看扩展是否已加载,您可以调用 extension_loaded('GD')
函数,如果已加载,它将返回 TRUE
。或者您可以在命令行中键入 php -m
并查看那里的所有扩展。 php -m | grep -i gd
应该这样做。
需要明确的是,GD
库效率不高,因此请重新考虑使用 Imagick 扩展。
编辑: Resize image sample using GD Extension
【讨论】:
谢谢,你能给我一些例子,说明我应该如何使用GD
调整图像大小吗?我正在编写自己的 Web 应用程序,我不会强迫用户使用 Imagick(即使它比 GD 好得多)。
试试这个:fliquidstudios.com/2009/05/07/…以上是关于没有 Imagick 的图像调整大小并失去透明度的主要内容,如果未能解决你的问题,请参考以下文章