C# 移动1bpp像素格式的每个像素

C# 移动1bpp像素格式的每个像素,c#,lockbits,C#,Lockbits,我有一个关于在C#中使用Lockbits方法的问题。。 我有一个1bpp的图像,我试图访问图像的所有像素,但有些仍然被遗漏 public Bitmap Pixels(Bitmap original) { Rectangle rect = new Rectangle(0, 0, original.Width, original.Height); BitmapData bimgData = original.LockBits(rect,

我有一个关于在C#中使用Lockbits方法的问题。。 我有一个1bpp的图像,我试图访问图像的所有像素,但有些仍然被遗漏

    public Bitmap Pixels(Bitmap original)
        {
    Rectangle rect = new Rectangle(0, 0, original.Width, original.Height);
                BitmapData bimgData = original.LockBits(rect, ImageLockMode.ReadWrite, original.PixelFormat);

            IntPtr ptr = bimgData.Scan0;

            int bytes = bimgData.Stride * bimg.Height;
            byte[] Values = new byte[bytes];

            Marshal.Copy(ptr, Values, 0, bytes);

            int Val;
            int stride = bimgData.Stride;
for (int column = 0; column < bimgData.Height; column = column + 1)
                    for (int row = 0; row < bimgData.Width; row = row +1)
                    {
                        c = column;
                        r = row;
                        for (int t = 0; t < 8; t++)
                        {
                           Val = Values[((c) * stride) + ((r) / 8)] & 2 ^ t;
                           if (Val == 0)
                                Values[((c) * stride) + ((r) / 8)] = (byte)(Values[((c) * stride) + ((r) / 8)] + 2 ^ t);
                        }
                    }
Marshal.Copy(Values, 0, ptr, bytes);
            original.UnlockBits(bimgData);

            return original;
        }
公共位图像素(位图原始)
{
矩形rect=新矩形(0,0,original.Width,original.Height);
BitmapData bimgData=original.LockBits(rect,ImageLockMode.ReadWrite,original.PixelFormat);
IntPtr ptr=bimgData.Scan0;
int bytes=bimgData.Stride*bimg.Height;
字节[]值=新字节[字节];
封送处理副本(ptr,值,0,字节);
int-Val;
int-stride=bimgData.stride;
对于(int列=0;列
此代码应将所有像素变为白色

   Val = Values[((c) * stride) + ((r) / 8)] & 2 ^ t;

2^t
不做您希望它做的事情,这是Visual Basic语法。在C语言中,^是XOR运算符。使用“谢谢”!!!!我只是暂时把像素变成白色来理解代码。。。
   Val = Values[((c) * stride) + ((r) / 8)] & (1 << t);