【发布时间】:2012-11-25 22:09:41
【问题描述】:
我正在寻找一个可以降低所有图像类型质量(PNG、GIF 和 JPEG)的库。
我知道我可以使用 imagejpeg()
减少 JPEG
我也知道我可以使用 imagepng() 减少 PNG,虽然这还不够强大。
我需要一些可以在不删除 alpha 的情况下将 PNG 24 转换为 PNG8 的东西。
无法使用 ImageMagick,因为我无法在我的服务器上安装任何东西。
编辑:
我还需要可以从 32 位转换为 8 位的东西(我很确定与 32 位相同)
找到灵魂here
谢谢
【问题讨论】:
-
也许我遗漏了一些东西,但是根据定义从 PNG24 转换为 PNG8 会删除 alpha 数据。
-
不,你完全正确。 PNG8 是没有 Alpha 的 PNG。它只是组合了 RBG 通道,没有单独的 R G B + Alpha 通道。
-
这里的人非常误会。我有许多带有 alpha 数据的 PNG8 图像(灰度图像)。
-
@Ron,我知道你不是。看起来他们认为 PNG 总是需要一个完整的 alpha 通道(因此是 PNG X+8)来获得 alpha 数据。这是一个非常简单的带有 alpha 的 PNG8 示例(如果由于某种原因似乎不可能,我可以上传 PNG8 的颜色版本并包含 alpha 数据):s16.postimage.org/lkbjf58kh/gearsgrayscale.png
-
检查TinyPng——他们在做几乎相同的事情。您可以轻松创建一个脚本,将图像发送到他们的服务,然后将其取回。如果您觉得这听起来很有趣,我可以提供示例代码。
标签: php image compression image-compression