@Hopelessness
2016-10-30T23:56:23.000000Z
字数 396
阅读 1866
Photoshop
public unsafe void 反色(Bitmap bmp)
{
int w = bmp.Width, h = bmp.Height;
BitmapData data = bmp.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
byte* p = (byte*)data.Scan0;
Action<int> action = Y =>
{
byte* py = p + Y * data.Stride;
for (int X = 0; X < w; X++)
{
*py = (byte)~*py;
py++;
*py = (byte)~*py;
py++;
*py = (byte)~*py;
py++;
py++;
}
};
Parallel.For(0, h, action);
bmp.UnlockBits(data);
}