2010-11-15 112 views
11

这是图像:Gradient1 http://adamhaskell.net/img/gradient1.png
此图像是一个简单的黑到透明渐变,保存在完整的RGBA PNG中。索引的png图像中的Alpha透明度

这里是相同的图像,通过GIMP转换为索引-αPNG(Photoshop中产生相同的结果)
Gradient2 http://adamhaskell.net/img/gradient1b.png
正如你可以看到,梯度现在是半不透明,半透明。

这里是相同的图像一遍,只是这一次它是由PHP脚本我写转化为索引-αPNG:
Gradient3 http://adamhaskell.net/img/gradient1c.png

所以我的问题是:为什么是GIMP和Photoshop无法支持部分索引图像中的透明度,当PHP脚本清楚地表明这样的图像可以创建没有问题?
对于pallette包含alpha信息的图像有什么“错误”?
更多与编程相关的问题:最后一张图片中的这种透明度是否可以在Internet Explorer 6中使用?

+0

'optipng -force'正确地将其保存为索引-α。 – 2011-09-06 04:04:22

回答

3

我终于找到了答案实际:有一个元数据条目,允许您定义颜色表每种颜色的Alpha值。大多数图形程序不使用这个,但它确实存在并且可以使用,特别是由GD使用。

+0

你是用手还是用插件做的,因为我无法想象用手做现有的图像。 – 2014-04-15 17:36:02

+0

我使用GD来处理所有可编程图像的需求;) – 2014-04-15 18:17:01

+0

GD?我需要提醒还是只是通知? (不是图形设计,还是?) – 2014-04-16 20:20:42

1

是的,我知道你的意思。 Fireworks是我所知道的唯一一个可以毫无问题地创建和编辑PNG8 + Alpha的图像编辑程序。我希望更多的绘画程序将支持这种格式,因为Fireworks是昂贵的!

+2

[ImageAlpha](http://pngmini.com)免费提供,恕我直言,比烟花更好。 – Kornel 2012-03-19 09:54:27

+0

还有[Color quantizer(Windows)](http://x128.ho.ua/color-quantizer.html)和[Pngnq(Windows和Mac)](http://pngnq.sourceforge.net/)。 他说,后者的开发人员想制作一个GIMP插件,但GIMP不提供调色板。也许比我更多时间的人可以说服他或者使用这个或者什么?呃.. – 2014-04-16 20:45:12

4

除了烟花另一种选择是pngquant,一个命令行应用程序,将PNG转换RGBA成PNG透明度索引。

我发现this post其中谈到了一些有关如何使用它。

IE6及更早版本的Windows不支持可变透明度的PNG文件,没有恼人的解决方法。索引的PNG只会显示通常效果非常好的完全不透明的部分。投影会消失,但徽标或图标的不透明部分将继续显示。

这个页面有更多的PNG压缩和量化工具更好的解释和说明:http://calendar.perfplanet.com/2010/png-that-works/

4

为了记录在案,PNG不支持逐字索引图像用alpha通道。真正发生的事情是,PNG允许您在颜色表中添加更多颜色(即索引),并使用这些颜色中的Alpha值...不是完整的Alpha通道。 FWIW ...