问题标签 [png-24]

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 投票
1 回答
1942 浏览

iphone - 对于具有 alphatransparency 的 pngcrunch 优化的 24 位 PNG 文件,我必须为每个组件指定多少位?

CGBitmapContextCreate 接受一个对我来说不是很明显的参数:

例如,对于 32 位像素格式和 RGB 颜色空间,您将指定每个组件 8 位的值。

我创建了具有 alphatransparency 的 24 位 PNG 文件,并将它们添加到 Xcode。在编译时,Xcode 使用 pngcrunch 优化那些 PNG 切片。

因此,当尝试在 iPhone-OS 上从此类图像文件中创建图形上下文时,我需要指定每个组件的位。

在这种情况下,我会说它们是每个组件 4 位,尽管我不知道 alpha 是否算作一个组件。

0 投票
3 回答
1771 浏览

iphone - 理论上:alpha 分量是如何在 iPhone OS 中预乘到 PNG 的其他分量中的,如何正确地取消预乘?

实际上,我认为有一种简单的方法可以实现这一目标。我需要的是纯 alpha 值信息。为了进行测试,我有一个 50 x 55 像素的 PNG,其中每条边上都有一个 5x5 像素的矩形是完全透明的。在这些区域中,alpha 必须为 0。其他任何地方都必须为 255。我非常确定我的 PNG 是正确创建的,而且它看起来也正确。

请告诉我这在理论上是否正确:我创建了一个只有 alpha 通道而没有其他内容的 CGImageRef。这是使用 CGBitmapContextCreate 和 kCGImageAlphaOnly 作为参数完成的。CGBitmapContextGetBitsPerPixel(context) 返回 1,因此它表明我确实每个像素只有一个组件:所需的 alpha 值。我一直在阅读 CGBitmapContextCreate 将处理从给定图像到新创建的上下文的所有转换。我的图像以前是具有透明度的 PNG-24,但来自 Xcode 的 pngcrunch 似乎以某种方式转换它们。

所以,就理论上而言:此时我是否有机会获得正确的、未预乘的 alpha?我得到的值似乎几乎匹配,但在一个 5x5 的大透明正方形中,我得到的值是 19、197、210、0、0、0、98 等。如果它们是真的,我将不得不从图像中看到一些东西。图像本身是纯蓝色的。

0 投票
2 回答
3309 浏览

php - 如何在 PHP 中为透明的 PNG 文件着色?

我有一个透明的PNG图像。透明区域需要保持完全透明,但其他区域需要用特定的色调着色。

使用 GD 执行此操作的最佳方法是什么?

干杯,
詹姆斯

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 投票
5 回答
884 浏览

css - Sprite/PNG 图形重的网站,哦,我的!

我需要创建一个非常重图形的网站(撕裂的纸质背景,在纹理图形上带有透明阴影等)。我考虑节省文件大小的一种方法是将所有背景元素放入一个 PNG 中。问题是这个文件现在是 180k。如果我把它分解成各种 GIF 和几个 PNG,那么它会接近 70k。

真的有关系吗?这些天对于文件大小来说,什么是“太大”?有人会注意到文件是 180 还是 70k 吗?

0 投票
5 回答
3457 浏览

internet-explorer-6 - Transparent background png image issue in IE6

background image of type PNG is not transparent in ie6

0 投票
5 回答
412 浏览

internet-explorer-6 - IE中的alpha透明度解决方案

我正在建立一个网站,其中包含大量具有透明背景的 png-24 文件。在 IE 6 中,它们显然不能正确显示,所以我需要某种可靠的、好的解决方案来解决 IE 中的 PNG 问题,并且需要很少的工作并且可靠。有什么好主意吗?

0 投票
2 回答
1644 浏览

java - Java ImageIO:我可以将 PNG-24 文件转换为 PNG-8 吗?

场景是这样的:webapp 的用户可以通过选择自己的标志图像、背景颜色和背景图像来自定义网站。

问题是 IE6 不支持透明 PNG。我已经尝试了几种客户端解决方案,但都在一个方面或另一个方面有所不足(大多数不支持 css 属性background-repeat)。

我正在寻找在服务器上创建两个单独图像的替代解决方案,一个用于现代、透明-png 兼容的浏览器,一个用于 IE6。

问题是,我可以用 来完成这个ImageIO吗?基本上,我会检测图像是否为 PNG-24 格式并将其转换为 PNG-8(IE6 支持)。

0 投票
1 回答
887 浏览

iphone - iPhone标签栏控制图标问题

我在使用带有标签栏控件的图标时遇到问题,我不知道如何解决。我使用的图标是 24*24 的 png 格式。

它们有灰色渐变背景,中间有黑色形状。我遇到的问题是只有背景渐变显示。中间的黑色形状没有。

我使用了错误的格式还是什么?我在书中读到使用 png 格式大小 24*24