饱和度调整对我来说不起作用

时间:2012-01-29 07:10:02

标签: android image image-processing

我尝试使用下面的代码调整饱和度,但它无法正常工作。我使用了0到1之间的饱和度值。

       //deg value range is from 0 to 1.
       public static Bitmap adjustSaturation(Bitmap o, float deg)
    {        
          Bitmap srca = o;
          Bitmap bitmap = srca.copy(Bitmap.Config.ARGB_8888, true);
          for(int x = 0;x < bitmap.getWidth();x++)
              for(int y = 0;y < bitmap.getHeight();y++){
                      int newPixel = saturationChange(bitmap.getPixel(x,y),deg);
                      bitmap.setPixel(x, y, newPixel);
              }

          return bitmap;
    }

             private static int saturationChange(int startpixel,float deg){
          float[] hsv = new float[3];       //array to store HSV values
          Color.colorToHSV(startpixel,hsv); //get original HSV values of pixel
          hsv[1]=hsv[1]+deg;                //add the shift to the HUE of HSV array
          hsv[1]=hsv[1]%1;                //confines hue to values:[0,360]
          return Color.HSVToColor(Color.alpha(startpixel),hsv);
       }

请建议解决此问题。

0 个答案:

没有答案