求教如何调整PictureBox中图片的亮度、对比度和颜色值?

解决方案 »

  1.   

    亮度:将每个像素的R、G、B值都变大\减小[超过255的就以255代之\小于0的以0代之]
    对比度:将每个像素的R、G、B值与127[0~255便可]比,大的更加大一定量,小的更减小一定量,
            就增加对比度,反之减小对比度
    颜色值:就不用我说了吧?
      

  2.   

    这个知道啊,逐个像素操作的时候使用什么方法呢?point()和pset()函数?肯定不行,慢得无法忍受。有没有现成的API或者根据上述方法快速操作各个像素的API呢?有没有高手做过啊?
      

  3.   

    主要用这两个API~
    google搜得到不少说明文档Private Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long
    Private Declare Function SetDIBits Lib "gdi32" (ByVal HDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long