XDGI格式到底是什么意思B8G8R8A8_UNorm
本文关键字:B8G8R8A8 UNorm 意思 是什么 格式 XDGI | 更新日期: 2023-09-27 17:56:57
我在弄清楚这种图像格式的含义时遇到了一点麻烦:在 directX 中B8G8R8A8_UNorm。这是每个颜色通道 8 位吗?这是否意味着,例如,如果您有颜色0xAABBCCFF,那么颜色将是:
- B = AA
- G = BB
- R = CC
- A = DD
,这是某种灰色?例如,这与R32G32B32A32_float相比如何?
例如。我正在查看 HxD 中的图像,以查看十六进制。前 8 个字节(在 head 之后)是:
FB 52 6F 3F
哪个是绿色的。但是,如果我将图片加载到 Gimp 中,并查看像素,像素是粉红色的(#FFF8B5B5 => ARGB)。所以连一个颜色通道都不一样!
这怎么可能?B8G8R8A8_UNorm到底是什么意思?我怎样才能把它转换成与普通图像处理程序相同的格式?(即。对于此示例,R = F8,G = B5,B = b5,A = FF)
不,你看错了顺序。它说:
8-bit Blue, 8-bit Green, 8-Bit Red, 8-bit Alpha.
您可以反转它以获得:
3F 6F 52 FB
^A ^R ^G ^B
在 C# 中:
Color c = Color.FromArgb(0x6F, 0x52, 0xFB); // Pink.
^R ^G ^B
这会导致 #FF6F52FB,这也与Gimp不同。我将假设UNorm
标志对此进行了微小的调整。也许它稍微减轻了它。
它不完全是粉红色......而是一种奇怪的粉红色。