Tag: 锁定位

为什么我的图像看起来采用Bgra而不是Argb的格式?

所以,我对我刚刚运行的快速测试感到非常困惑。 我在C#中进行一些图像处理。 Get / SetPixel()已被certificate太慢了,所以我使用LockBits来获取原始数据。 但是,我似乎遇到了一个我无法弄清楚的情况。 在扫描图像时,似乎每个像素按照顺序布置为Bgra,即蓝色字节,绿色字节,红色字节和alpha。 我的印象是他们将以Argb的顺序排列。 这是我正在使用的代码示例。 BitmapData baseData = m_baseImage.LockBits(new Rectangle(new Point(0, 0), m_baseImage.Size), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); Bitmap test = new Bitmap(m_baseImage.Width, m_baseImage.Height); byte* ptr = (byte*)baseData.Scan0; for (int y = 0; y < m_baseImage.Height; ++y) { for (int x = 0; x < m_baseImage.Width; ++x) { // this works, image is copied […]