本帖最后由 takemoto 于 2009-08-26 11:21:09 编辑

解决方案 »

  1.   

    你的反转方式可能有问题.. for (int y = 0; y < sourData.Height; y++)
                    {
                        byte* dataIn = (byte*)sourData.Scan0 + (y * sourData.Stride);
                        byte* dataOut = (byte*)destData.Scan0 + (y * destData.Stride);                    for (int x = 0; x < sourData.Width/8; x++)
                        {
                            dataOut[x] = (byte)(~dataIn[x]);    // 在这里抛出异常
                           }
                    }
    1bpp的图 是8个点用一个byte表示...  另外反转可以 ColorPalette _Palette =destBitmap.Palette;
                Color _Color = _Palette.Entries[0];
                _Palette.Entries[0] = _Palette.Entries[1];
                _Palette.Entries[1] = _Color;
                destBitmap.Palette = _Palette;
    直接反转颜色表看看