问题标签 [png-8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
5336 浏览

graphics - 如何从 png24 中区分 png8

我正在一个使用大量 png24 文件的网站上工作,以提高透明度。

我需要用 png8 文件替换它们,因为 png24 的所有 png 修复样式 javascript 变通方法会导致 IE6 随机锁定。

请参阅此链接以了解 IE6 显示的症状 - http://blogs.cozi.com/tech/2008/03/transparent-pngs-can-deadlock-ie6.html

有谁知道一种简单的方法来定位现有的 png24 文件,用 png8s 替换它们?

我使用的是 OS X,像 Adob​​e Bridge 这样的文件浏览器没有显示这一点,我也无法在命令行或 finder 上找到信息。

帮助!

0 投票
2 回答
3231 浏览

java - Java中是否有一些库可以压缩PNG图像,例如pngout?

Java中是否有一些库可以压缩用C/C++编写的png图像,如pngout、pngcrush、optipng?

继续 Phil 在下面评论的内容,我的意思是通过删除不需要的信息来减小 Java 中 ImageIO 类生成的图像的文件大小,就像 pngout 所做的一样。当我对 ImageIO 类生成的图像运行 pngout 时,我能够减少大约 50% 的文件大小(减少的大小会因图像而异)。所以我想知道是否有任何工具或库可以与 Java 接口,以便生成 ImageIO 类的图像文件可以减小它们的大小。

0 投票
3 回答
2247 浏览

png - 来自 Fireworks(颜色图)的 PNG8+Alpha 与来自其他地方(RGBA)的不同/更小。为什么?

在 Fireworks 中,当您导出具有 alpha 透明度的 PNG8 文件时,生成的文件将如下所示:

如果您使用其他工具(PNGOUT、Smush.it)转换 32 位 PNG,结果如下所示:

究竟有什么区别?它们都具有 alpha 透明度,但 Fireworks 文件为 8KB,而其他文件为 20KB。现在 Fireworks 文件的质量明显降低(即渐变色带)。

对于某些图像,来自 Fireworks 的 PNG8+alpha 效果很好,并且相对而言具有超小的文件大小。我只是无法弄清楚 Fireworks 在做什么以及它与其他方法有何不同。

0 投票
6 回答
6140 浏览

php - PHP gdLib 8 位 PNG 带 alpha

如何将我用 gd 创建的图像保存为 png-8?

它可以很好地保存为带有透明通道的 gif - 但我想使用 png-8。

最好的问候, Beerweasle

0 投票
2 回答
1818 浏览

php - 如何判断图像是 PNG24 还是 PNG8 以及位数和通道数?

我试图用getimagesize或 Imagick 来区分 PNG-8 和 PNG-24 图像,但我不太清楚如何去做。

getimagesize不返回我的 PNG 的频道,而是显示 mimetype。它适用于其他图像并显示正确的值,但对于 PNG,它什么也不显示。

编辑:Imagick 没有安装在我的环境中,但 gdlib 是......

谁能帮我一点忙?

问候,
汤姆

编辑2:有可能这样做吗?

如果 truecolor 为 false 或未设置,它是 png24 吗?

0 投票
1 回答
1228 浏览

cocoa - 使用 NSImage 创建和编写调色板 RGBA PNG

我正在尝试使用 Cocoa 框架*创建使用 RGBA 调色板(每个调色板条目 32 位)的调色板PNG 图像(每像素 8 位)。

我尝试了几种[NSBitmapImageRep initWithBitmapDataPlanes:…]方法组合。它似乎为bitsPerSample:2 bitsPerPixel:8.

然而,当我尝试用我写这样的位图时,[NSBitmapImageRep representationUsingType:NSPNGFileType…]我得到:

如果我尝试其他位深度,那么我会得到每像素 32 位(非调色板)图像。


*)我知道我可以使用libpng,但这不是我正在寻找的答案。

0 投票
2 回答
9339 浏览

php - 如何使用 PHP GD 库将 PNG 转换为 8 位 PNG

我想编写一个以 PNG 图像路径为参数的例程,并将该图像转换为 8 位 PNG 图像。我需要为此使用 PHP GD 库。

0 投票
1 回答
1797 浏览

ruby - 如何使用 ChunkyPNG 或 RMagick 保存 8 位 PNG

我一直在尝试使用 RMagick ( http://rmagick.rubyforge.org/ ) 和 ChunkyPNG ( https://github.com/wvanbergen/chunky_png )保存 8 位 PNG (PNG8 ) 但一直无法这样做.

然而,我唯一能让它在 RMagick 上工作的情况是 ImageMagick 安装基于 8 的 QuantumDepth 而不是通常的 16。不可能即时更改此设置 - 必须编译 ImageMagick 的安装有了这个设置。在创建图像时将深度设置为 8 或在保存时为格式类型添加前缀也无效。

IE。img.write('PNG8:image.png')

无论如何,我已经看过 ChunkyPNG,我真的更喜欢使用它而不是 RMagick - 仅仅是因为它是纯 Ruby 并且不依赖于 ImageMagick。我也无法使用它保存 PNG8。

之后我必须使用图形程序将 PNG 转换为 8 位 -

我的问题:

  1. 有没有办法像在安装了 ImageMagick Q16 的机器上的 ImageMagick Q8 上一样正确保存 8 位 PNG?

  2. 任何人都可以提供在 ChunkyPNG 中做我自己的 4 位编码器的指针,或者知道用它保存 PNG8 的方法吗?

提前致谢..

0 投票
1 回答
1578 浏览

c# - 使用 FreeImage 库 (C#) 减少 PNG-8 调色板中的颜色计数

我正在使用 FreeImageNET 库将我的位图量化为

这给了我一个 PNG-8,带有 256 种颜色的调色板。使用我发现的 Photoshop,如果我使用具有减少调色板的自适应算法(例如 128、64、16 等),我可以进一步减小大小。再次重新打开它会显示 Photoshop 填充了剩余(更高)索引中的灰度级。

我无法FreeImageAPI.FreeImageBitmap.Quantize()制作出类似的 PNG,调色板有限,一个 la PIL convert(),您可以在其中指定算法和调色板大小。

谢谢。

0 投票
1 回答
26733 浏览

image-processing - 通过保留半透明像素,使用 ImageMagick 将 32 位 png 转换为 8 位 png

我想用 ImageMagick 将 32 位 png 转换为 8 位 png,但是半透明像素丢失了。如何解决这个问题呢?我正在使用的命令如下