Format32bppPArgb详细是什么
MSDN 说:
格式32bppPArgb
指定格式为每像素32位;每个 8 位用于 alpha、红色、绿色和蓝色分量。根据 Alpha 分量,对红色、绿色和蓝色分量进行预乘。
这是否意味着 RGB 值已经相乘并且 A(Alpha)值不再实际使用?这是否意味着如果我使用 PARGB ImageFormat
,就不可能再看到真正的透明度,因为 RGB 值已经相乘,或者它只是 GPU 的一个“做得很好”的功能,用户可以在其中使用(开发者)在R/G/B结果的情况下没有感觉到任何差异吗?
问候
MSDN says:
Format32bppPArgb
Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied, according to the alpha component.
Does this mean that the RGB values are already multiplied and the A (Alpha) value is not used in real anymore? Does that mean if I have an PARGB ImageFormat
used, it is not possible to see the real transparency anymore because the RGB values are already multiplied, or is it only a "nice done" function of GPU where user (developer) does not feel any difference in case of R/G/B result?
Regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Alpha 值保留在像素数据中并可供使用。但像素强度并不是真实值,而是乘以了 alpha。
维基百科文章对优缺点进行了很好的讨论。
The alpha values are retained in the pixel data and are available for use. But the pixel intensities are not the true value, but have been multiplied by the alpha.
The Wikipedia article has a good discussion of the pros and cons.
https://learn. microsoft.com/en-us/dotnet/api/system.drawing.imaging.pixelformat?view=windowsdesktop-7.0
https://learn.microsoft.com/en-us/dotnet/api/system.drawing.imaging.pixelformat?view=windowsdesktop-7.0