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)

XDGI格式到底是什么意思B8G8R8A8_UNorm

不,你看错了顺序。它说:

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标志对此进行了微小的调整。也许它稍微减轻了它。

它不完全是粉红色......而是一种奇怪的粉红色。

相关文章:
  • 没有找到相关文章