【问题标题】:C++/C# Header of bgr32 bitmapBgr32 位图的 C++/C# 标头
【发布时间】:2020-06-11 04:39:20
【问题描述】:

据我了解,srgb32 只是一个 24 位颜色深度图像,末尾有 8 位填充。 即,小端序中的蓝色像素:

byte1_b = 255
byte2_g = 00
byte3_r = 00
byte4 = 00 //padding

让我感到困惑的是我的标题应该如何指示这种填充编码。如果我没记错的话,简单地将颜色深度设置为 32 是行不通的,因为这会启用 Alpha 通道。我应该如何编码?

编辑。这是一个使用 C++ 和 C# 完成的项目。我正在使用 WritableBitmap 类来渲染分形图像。但是实际的图像是使用 P/Invoke 通过 C++ 中的后端 api 绘制的。因此标题是 C#/C++ 以强调我在这两种环境中工作。

【问题讨论】:

  • C 和 C# 是 非常 不同的语言,C 无法访问 WPF 等 .net 框架。所以请edit你的问题删除不相关的C语言提及。或者,如果您使用 C 进行编程,那么 C# 和 .net 就无关紧要了。另外请花点时间刷新How to Askthis question checklist
  • 我正在处理 C++ 中的实际编码,C# 用于指示 bgr32 的来源
  • @Someprogrammerdude 明白了。改为 C++
  • 也许this 有帮助。
  • 使用PixelFormats.Bgr32。它是 32 位 BGR 格式,带有未使用的第四个字节。

标签: c# c++ wpf bmp


【解决方案1】:

尽管提出了更多问题,但我找到了问题的答案。这个微软link 描述了默认忽略高字节。我对其进行了测试,无论填充字节如何,图像似乎都没有变化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 2016-09-08
    • 1970-01-01
    • 2016-08-31
    • 2011-06-13
    • 1970-01-01
    相关资源
    最近更新 更多