2012-02-04 43 views
1

的Android嘉洛斯我使用下面的代碼,使我的照片黑爲黑色

BitmapDrawable bdarw = new BitmapDrawable(imagePath); 

       ColorMatrix cm = new ColorMatrix(); 
       cm.set(new float[] { 
         2, 1f, 0, 0, 0, 
         0, 2, 0f, 0, 0, 
         0, 0, 2, 0f, 0, 
         0, 0, 0, 1f, 0 }); 

       bdarw.setColorFilter(new ColorMatrixColorFilter(cm)); 

       Bitmap bitmap= bdarw.getBitmap(); 

       ImageView imageView = (ImageView) findViewById(R.id.imgV); 
       imageView.setImageBitmap(bitmap); 

但似乎彩色矩陣是不正確的,你可以請幫我

回答

2

當然爲黑色,你需要0所有的顏色成分。唯一擔心的是alpha。離開它,因爲你會想要的。

  cm.set(new float[] { 
        0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 
        0, 0, 0, 1f, 0 }); 

要強制阿爾法爲零改變一個爲0,迫使阿爾法FF改變過去的0至1或255我不知道它,試試看。

ColorMatrix文檔。

+1

你能幫我理解他們每個人:( – 2012-02-04 08:43:26