欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#图像对比度调整的方法

程序员文章站 2022-05-26 15:20:32
本文实例讲述了c#图像对比度调整的方法。分享给大家供大家参考。具体如下: //定义对比度调整函数 private static bitmap contrastp...

本文实例讲述了c#图像对比度调整的方法。分享给大家供大家参考。具体如下:

//定义对比度调整函数
private static bitmap contrastp(bitmap a, double v)
{
 system.drawing.imaging.bitmapdata bmpdata = a.lockbits(new rectangle(0, 0, a.width, a.height), system.drawing.imaging.imagelockmode.readwrite, system.drawing.imaging.pixelformat.format24bpprgb);
 int bytes = a.width * a.height * 3;
 intptr ptr = bmpdata.scan0;
 int stride = bmpdata.stride;
 unsafe
 {
  byte* p = (byte*)ptr;
  int temp;
  for (int j = 0; j < a.height; j++)
  {
   for (int i = 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);
 return a;
}

希望本文所述对大家的c#程序设计有所帮助。