C#如何写位图数据。它是自下而上还是自上而下?

时间:2011-12-20 07:50:37

标签: c# bitmap

根据Wikipedia

  

像素阵列是一个32位DWORD块,用于描述图像   逐个像素。通常,像素相对地存储为“倒置”   到正常图像光栅扫描顺序,从左下角开始,   从左到右,然后从底部逐行到   图像顶部。1也可以存储未压缩的Windows位图   当图像高度值为负时,从上到下。

所以,当我使用这段代码时:

b.Save(outputFilename, ImageFormat.Bmp);

C#如何实际保存?我可以告诉C#以高度值为负值保存它并以自上而下的方式写出来吗?

2 个答案:

答案 0 :(得分:1)

BMP格式的ImageCodecInfo似乎不支持任何EncoderParameters。有关详细信息,请参阅here。所以似乎没有办法指定它应该如何存储。至于找出 的存储方式,只需尝试一下即可。制作上半部分为黑色,下半部分为白色的图像,并在十六进制编辑器中查看。

我敢打赌它是'倒置',因为它是默认值。

答案 1 :(得分:0)

不,height属性必须大于0。