2011-07-18 4 views
2

저는 android 응용 프로그램에서 작업 중이며 소스 이미지에서로드 할 수있는 drawable이 있습니다. 당신을 수 있습니다 내가 이미지를 양각 가지고,하지만 난 파란색 이미지를 할 수 없습니다 : 나는 이미지 흐림 및 embross을 원하는이 이미지에, 난 당신이 나에게 몇 가지 조언을 줄 수이미지를 흐리게 처리하고 엠 보스 처리합니다.

How to change colors of a Drawable in Android?을 읽을 당신에게

편집 감사 한 나에게주고 일부 파란색

답변

2
public Bitmap fudiao(Bitmap bmpOriginal) { 
    int width, height, r,g, b, c,a, gry,c1,a1,r1,g1,b1,red,green,blue; 
    height = bmpOriginal.getHeight(); 
    width = bmpOriginal.getWidth(); 
    int depth = 30; 

     Bitmap bmpSephia = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); 
     Canvas canvas = new Canvas(bmpSephia); 
     Paint paint = new Paint(); 
     // ColorMatrix cm = new ColorMatrix(); 
     // cm.setScale(.3f, .3f, .3f, 1.0f); 
     // ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm); 
     // paint.setColorFilter(f); 
     canvas.drawBitmap(bmpOriginal, 0, 0, null); 
     for(int y=1; y< height-1; y++) { 
      for(int x=1; x < width-1; x++) { 
       c = bmpOriginal.getPixel(x, y); 

       r = Color.red(c); 
       g = Color.green(c); 
       b = Color.blue(c); 

       c1 = bmpOriginal.getPixel(x-1, y-1); 

       r1 = Color.red(c1); 
       g1 = Color.green(c1); 
       b1 = Color.blue(c1); 


       red = Math.max(67, Math.min(255, Math.abs(r - r1 + 128))); 
       green = Math.max(67, Math.min(255, Math.abs(g - g1 + 128))); 
       blue = Math.max(67, Math.min(255, Math.abs(b - b1 + 128))); 
       if (red > 255) 
       { 
        red = 255; 
       } 
       else if (red < 0) 
       { 
        red = 0; 
       } 

       if (green > 255) 
       { 
        green = 255; 
       } 
       else if (green < 0) 
       { 
        green = 0; 
       } 

       if (blue > 255) 
       { 
        blue = 255; 
       } 
       else if (blue < 0) 
       { 
        blue = 0; 
       } 

       bmpSephia.setPixel(x, y, Color.rgb(red, green, blue)); 
       // bmpSephia.setPixel(x, y, Color.argb(a1, red, green, blue)); 
      } 
     }  
     return bmpSephia; 
    } 

이 단지 그림

0
엠보싱
+0

페인트와 함께 다른 유형의 양각 제품을 발견하게 될 것입니다. 조금만 가지고 다녀도 매우 쉽습니다. – mbarnes

+0

예,이 방법을 테스트했지만 파란색 효과가 분명하지 않으므로 메서드를 포기합니다. 고맙습니다 – pengwang

관련 문제