C#图像对比度调整的方法
本文实例讲述了C#图像对比度调整的方法。分享给大家供大家参考。具体如下:
//定义对比度调整函数
privatestaticBitmapContrastP(Bitmapa,doublev)
{
System.Drawing.Imaging.BitmapDatabmpData=a.LockBits(newRectangle(0,0,a.Width,a.Height),System.Drawing.Imaging.ImageLockMode.ReadWrite,System.Drawing.Imaging.PixelFormat.Format24bppRgb);
intbytes=a.Width*a.Height*3;
IntPtrptr=bmpData.Scan0;
intstride=bmpData.Stride;
unsafe
{
byte*p=(byte*)ptr;
inttemp;
for(intj=0;j<a.Height;j++)
{
for(inti=0;i<a.Width*3;i++)
{
temp=(int)((p[0]-127)*v+127);
temp=(temp>255)?255:temp<0?0:temp;
p[0]=(byte)temp;
p++;
}
p+=stride-a.Width*3;
}
}
a.UnlockBits(bmpData);
returna;
}
希望本文所述对大家的C#程序设计有所帮助。