问题标签 [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.
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,像 Adobe Bridge 这样的文件浏览器没有显示这一点,我也无法在命令行或 finder 上找到信息。
帮助!
iphone - 对于具有 alphatransparency 的 pngcrunch 优化的 24 位 PNG 文件,我必须为每个组件指定多少位?
CGBitmapContextCreate 接受一个对我来说不是很明显的参数:
例如,对于 32 位像素格式和 RGB 颜色空间,您将指定每个组件 8 位的值。
我创建了具有 alphatransparency 的 24 位 PNG 文件,并将它们添加到 Xcode。在编译时,Xcode 使用 pngcrunch 优化那些 PNG 切片。
因此,当尝试在 iPhone-OS 上从此类图像文件中创建图形上下文时,我需要指定每个组件的位。
在这种情况下,我会说它们是每个组件 4 位,尽管我不知道 alpha 是否算作一个组件。
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 等。如果它们是真的,我将不得不从图像中看到一些东西。图像本身是纯蓝色的。
php - 如何在 PHP 中为透明的 PNG 文件着色?
我有一个透明的PNG图像。透明区域需要保持完全透明,但其他区域需要用特定的色调着色。
使用 GD 执行此操作的最佳方法是什么?
干杯,
詹姆斯
png - 来自 Fireworks(颜色图)的 PNG8+Alpha 与来自其他地方(RGBA)的不同/更小。为什么?
在 Fireworks 中,当您导出具有 alpha 透明度的 PNG8 文件时,生成的文件将如下所示:
如果您使用其他工具(PNGOUT、Smush.it)转换 32 位 PNG,结果如下所示:
究竟有什么区别?它们都具有 alpha 透明度,但 Fireworks 文件为 8KB,而其他文件为 20KB。现在 Fireworks 文件的质量明显降低(即渐变色带)。
对于某些图像,来自 Fireworks 的 PNG8+alpha 效果很好,并且相对而言具有超小的文件大小。我只是无法弄清楚 Fireworks 在做什么以及它与其他方法有何不同。
css - Sprite/PNG 图形重的网站,哦,我的!
我需要创建一个非常重图形的网站(撕裂的纸质背景,在纹理图形上带有透明阴影等)。我考虑节省文件大小的一种方法是将所有背景元素放入一个 PNG 中。问题是这个文件现在是 180k。如果我把它分解成各种 GIF 和几个 PNG,那么它会接近 70k。
真的有关系吗?这些天对于文件大小来说,什么是“太大”?有人会注意到文件是 180 还是 70k 吗?
internet-explorer-6 - Transparent background png image issue in IE6
background image of type PNG is not transparent in ie6
internet-explorer-6 - IE中的alpha透明度解决方案
我正在建立一个网站,其中包含大量具有透明背景的 png-24 文件。在 IE 6 中,它们显然不能正确显示,所以我需要某种可靠的、好的解决方案来解决 IE 中的 PNG 问题,并且需要很少的工作并且可靠。有什么好主意吗?
java - Java ImageIO:我可以将 PNG-24 文件转换为 PNG-8 吗?
场景是这样的:webapp 的用户可以通过选择自己的标志图像、背景颜色和背景图像来自定义网站。
问题是 IE6 不支持透明 PNG。我已经尝试了几种客户端解决方案,但都在一个方面或另一个方面有所不足(大多数不支持 css 属性background-repeat
)。
我正在寻找在服务器上创建两个单独图像的替代解决方案,一个用于现代、透明-png 兼容的浏览器,一个用于 IE6。
问题是,我可以用 来完成这个ImageIO
吗?基本上,我会检测图像是否为 PNG-24 格式并将其转换为 PNG-8(IE6 支持)。
iphone - iPhone标签栏控制图标问题
我在使用带有标签栏控件的图标时遇到问题,我不知道如何解决。我使用的图标是 24*24 的 png 格式。
它们有灰色渐变背景,中间有黑色形状。我遇到的问题是只有背景渐变显示。中间的黑色形状没有。
我使用了错误的格式还是什么?我在书中读到使用 png 格式大小 24*24