我碰到an answer from Hans Passant,说应该将BitmapData.Scan0
转换为适当的原始指针类型(在该问题的int*
情况下,PixelFormat.Format32bppArgb
)。这使我感到困惑,因为它表明System.Drawing.Bitmap
的数据是依字节顺序排列的,即,在某些时候,GDI或.NET [Framework / Core]将其读取的图像数据转换为机器字节顺序。 / p>
在像素格式与原始类型(例如Format24bppRgb
)不对齐的情况下,这也毫无意义。 24位数据块如何与字节序相关?
常识告诉我要按指定的顺序读取各个字节(即蓝色,然后是绿色,然后是红色,然后是alpha)。但是,我在这里收到的信号不一。