6

私は Android で作業していますが、事前に決められたサイズのビットマップを事前に決められた色で塗りつぶすための高速な方法が本当に必要です。

ただし、次のコードは機能しません。

ビットマップ入力は変更可能なビットマップです

    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;

「古い」値と (a|r|g|b) の値は異なりますが、変更可能なビットマップを下に置いたキャンバスを使用して色を「描画」すると、ビットマップは古い値を保持します。

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

4

1 に答える 1

7

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

アルファ値が範囲外でした。

int a = 0xFF<<24

だから私が電話したとき

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

それは静かに失敗し、値を変更しませんでした。

于 2009-05-28T22:09:23.177 に答える