2009-05-28 28 views
6

私はAndroidで作業しています。私は、所定のサイズのビットマップを所定の色で塗りつぶすための速い方法が本当に必要です。Android - ビットマップを色で塗りつぶす

次のコードは私にとっては機能しません。異なっているが、キャンバスを使用して色を「引か」を有する(B | G | | R)

ビットマップ入力は、RESTは、「古い」値との値を確保

int old = input.getPixel(0, 0); 
    Canvas c = new Canvas(input); 
    Rect rect = c.getClipBounds(); // The dimensions of the bitmap are returned 
    c.drawARGB(a, r, g, b); 
    int n = input.getPixel(0, 0); 
    if(old==n) 
     Log.e(TAG, "Values didn't change!"); 
    return input; 

可変ビットマップであります私の可変ビットマップの下に、ビットマップは古い値を保持します。

私は、ビットマップと色の値を取り、その色で塗りつぶされたビットマップを返すメソッドに満足しています。

答えて

6

私は十分な情報を提供していませんでした!

アルファ値が範囲外です。

int a = 0xFF<<24 

は、だから私はそれは静かに失敗し、値を変更しなかった

c.drawARGB(a,r,g,b); 

を呼び出したとき。

+0

これは元の投稿の編集内容です。 –

+0

謝罪、それは私の最初の投稿でした。私が自分で答えたのであれば、その質問を閉じるエチケットは何ですか? – gav

+5

@Ben:あなたは間違っています。自分で質問を解決するときは、解決策を回答として投稿し、それを受け入れます。 @ Gav:StackOverflowでは一般的にちょうど質問をして、ちょうど騒音であるので、ちょっと、ちょっと、ちょっと待ってください。 – Casebash

関連する問題