【问题标题】:What is meaning alpha mask field in DIBV5?DIBV5 中的 alpha 掩码字段是什么意思?
【发布时间】:2017-04-21 14:51:56
【问题描述】:

我正在学习 DIBV5 格式(https://msdn.microsoft.com/en-us/library/windows/desktop/dd183381(v=vs.85).aspx):

alpha 掩码字段的实际含义是什么?医生说:

指定每个像素的 alpha 分量的颜色掩码。

这种面具有什么好处?在所有像素都具有相同 alpha 的情况下,它只是压缩 alpha 信息吗?

【问题讨论】:

  • 这取决于 bV5BitCount,16 是常见的问题,因为它是编码 alpha、红色、绿色和蓝色的最尴尬的方式。 1555、555 和 565 已被使用。 alpha 掩码确定 16 位像素值中的哪些位表示 alpha 值。所以 0x8000、0 和 0。请注意没有人使用它,标准图形库也不支持它。

标签: windows bitmap


【解决方案1】:

理想情况下,它与其他掩码成员具有相同的含义;为 BI_BITFIELDS “压缩”图像指定 DWORD 中哪些位是有效的。没有压缩 alpha 值。我想您可以通过将 alpha 和颜色值打包成 3 个字节来将 alpha 值存储在小于 32bpp 的图像中,但我从未在野外见过这样的图像。

位图 Alpha 通道的文档记录一直很差,所以您可能会 run into some issues

如果您正在编写图像查看器,您可能必须检查 .bmp 是否包含不同的 alpha 通道值,即使 bV5AlphaMask 为 0 或 0xff000000,因为您要处理较旧的 DIB 格式和 BI_RGB。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2017-12-09
    • 2018-01-23
    • 1970-01-01
    • 2021-12-15
    • 2016-03-28
    相关资源
    最近更新 更多