2012-05-31 3 views
4

Я использую getpixels() и setpixels() api. Из Bitmap, используя getpixel api, получая один за другим пиксель, делая некоторые изменения и устанавливая пиксель, выполняем эту операцию для всех пикселей в цикле. Я мог видеть одинаковое значение альфа для всех пикселей, которые не смогли найти причину. Пожалуйста, предложите решение. Please find the attached image to see the issueКрая на изображении не являются гладкими после setpixels в android

    int width, height; 
      height = bmpOriginal.getHeight(); 
      width = bmpOriginal.getWidth(); 

      int[] pix = new int[width * height]; 
      bmpOriginal.getPixels(pix, 0, width, 0, 0, width, height); 



      int R, G, B, A; 


      float[] hsv = new float[3]; 
      float[] hsv2 = new float[3]; 
      float[] hsv3 = new float[3]; 



      for (int y = 0; y < height; y++){ 
      for (int x = 0; x < width; x++) 
      { 
       int index = y * width + x; 
       R = (pix[index] >> 16) & 0xff;  //bitwise shifting 
       G = (pix[index] >> 8) & 0xff; 
       B = pix[index] & 0xff;    


       Color.RGBToHSV(R, G, B, hsv);     

       int value = tempBitmap.getPixel(x, y); 


       Color.colorToHSV(value, hsv2);       

       int x = Color.HSVToColor(hsv3); 
       pix[index] = x; 


       } 

      } 

      bmpOriginal.setPixels(pix, 0, width, 0, 0, width, height); 
+0

Могу ли я увидеть код? – Ronnie

+0

как вы решили эту проблему? Я тоже застрял на этом. – VickyS

+0

Я тоже застрял на этом. – dasdasd

ответ

2

Использование setAntiAlias(true) апи на вашем объекте краски, чтобы включить сглаживание. также делать setFilterBitmap(true) краска.

Сделайте BitmapDrawable из вашего растрового изображения. Затем вызовите mBmpdrawable.setAntiAlias(true); перед использованием. Также попробуйте позвонить mBmpdrawable.setFilterBitmap(true)

+0

Спасибо, я попробовал это сейчас, но все же я мог видеть эту проблему. Пожалуйста, объясните немного больше об этом. – pavan

+0

Я не использую объект краски после получения пикселя и перед установкой pixel.Using color api Я меняю цвет. Итак, в этом случае, как применить setAntiAlis()? – pavan

+0

Я добавил код сейчас. – pavan

Смежные вопросы