c#里面怎么样才能像VC里面一样设置反色?
有没有SetROP2这样的函数? 问题点数:20、回复次数:4Top
1 楼broccoli(-_-||)回复于 2003-11-04 09:28:05 得分 0
自己upTop
2 楼soulroom(易水之风)回复于 2003-11-04 11:12:23 得分 10
自己写一个,用255分别减去rgb的值Top
3 楼luyiping(路亦平)回复于 2003-12-10 21:49:02 得分 10
//*****************非安全方法********************
public bool SInvert(Bitmap b)
{
BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height),
ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
int stride = bmData.Stride;
System.IntPtr Scan0 = bmData.Scan0;
unsafe
{
byte * p = (byte *)(void *)Scan0;
int nOffset = stride - b.Width*3;
int nWidth = b.Width * 3;
for(int y=0;y<b.Height;++y)
{
for(int x=0; x < nWidth; ++x )
{
p[0] = (byte)(255-p[0]);
++p;
}
p += nOffset;
}
}
b.UnlockBits(bmData);
this.Invalidate();
return true;
}
//***********************************************/Top
4 楼hyshare()回复于 2003-12-11 11:53:14 得分 0
方法可行,速度如何?Top




