0

Bitmap を配置する ImageView があります (左)。半透明の青いレイヤー (右) を含むビットマップを見たい場合もあります。ColorFilter (LightingColorFilter と PorterDuffColorFilter) を試してみましたが、濃い青になりました。ColorFilter などでこれを行うにはどうすればよいですか?

ここに画像の説明を入力

ありがとう。

EDIT(私はこれと他の変種を試しました)

 //ColorFilter filter = new PorterDuffColorFilter(color.wather, PorterDuff.Mode.DST_OVER);
 ColorFilter filter = new LightingColorFilter(color.mul, color.wather);
 // mul = 0xFFFFFFFF and wather = 0x7000FFFF

 BitmapScaler scaler = new BitmapScaler();
 imagen.setImageBitmap(scaler.getScaled());
 imagen.setColorFilter(filter);

私はさまざまなmulを試し、値を追加し、常にこれを取得しました: ここに画像の説明を入力

4

1 に答える 1

1

色のRGB番号の代わりにID番号を使用したため、color.xmlに問題がありました。大きな間違いです。透明度(アルファ)は無視されますが、付加価値の強さを下げる効果が得られます。

    int mul = 0xFFFFFF;
    int add = 0x005050;
filter = new LightingColorFilter(mul, add);

助けてくれてありがとう。

于 2013-04-16T22:15:56.873 に答える