对于具有 alpha 透明度的 pngcrunch 优化的 24 位 PNG 文件,我必须为每个组件指定多少位?
CGBitmapContextCreate 采用的参数对我来说不是很明显:
例如,对于 32 位像素格式 和 RGB 色彩空间,你会 指定每 8 位的值 组件。
我创建了带有 alphatransparency 的 24 位 PNG 文件,并将它们添加到 Xcode 中。 在编译时,Xcode 使用 pngcrunch 优化这些 PNG 图块。
因此,当尝试在 iPhone-OS 上从此类图像文件创建图形上下文时,我需要指定每个组件的位数。
在这种情况下,我会说它们每个组件 4 位,尽管我不知道 alpha 是否算作一个组件。
CGBitmapContextCreate takes an parameter that's not very obvious to me:
For example, for a 32-bit pixel format
and an RGB color space, you would
specify a value of 8 bits per
component.
I have created 24-bit PNG files with alphatransparency, and added them to Xcode. At compile time, Xcode optimizes those PNG tiles with pngcrunch.
So, when trying to make an graphics context out of such an image file on iPhone-OS, I need to specify the bits per component.
In this case, I would say they're 4 bits per component, although I dont know if alpha counts as an component.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
每个组件 8 位:
每个像素加起来为 32 位。 具有透明度的 24 位 png 是 24 位 RGB,加上 8 位透明度(“alpha 通道”)。
It's 8 bits per component:
That adds up to 32 bits per pixel. Your 24-bit png with transparency is 24-bits for RGB, plus 8 bits for transparency (the 'alpha channel').