2012-02-04 5 views
1

私は私の絵を黒にするために、次のコードを使用していますアンドロイドcolormatrix

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を必要としますすべての色成分。心配する唯一のことはアルファです。それをそのまま残しておきたいです。

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

FF、私はそれを試して見た、わからない1または255のいずれかへの最後の0を変更するには、アルファを強制するために、0にゼロ変化に1をアルファを強制します。

ColorMatrix documentation。

+1

あなたは私がそれらのそれぞれを理解するのを助けてくれますか? –

関連する問題