3

わかりました私の元の質問が変更されました。このような効果の強さを変更するにはどうすればよいですか?

    DayToNight.setXfermode(new PorterDuffXfermode(Mode.DST_IN));

私の夢の世界では、このように機能していたでしょう

    DayToNight.setXfermode(new PorterDuffXfermode(Mode.DST_IN(10)));

10 は強度のレベルです。


例としては、ろうそくのちらつきがあり、ろうそくが明るく燃えているときに、画面に描画しているビットマップが元の色と明るさを保持するようにし、ちらつきのとき、ビットマップをほとんど黒く塗りつぶしたい場合です。光が暗くなるにつれてビットマップを暗くします。

色/明るさを変更するために実際に適用する方法ではなく、方程式、タイマー、およびすべてを理解しました。たぶん、画像を焼くことが私が探しているものですか?明るさを変えたいだけです笑。

paint.setShader を使用することが解決策になるように感じますが、この領域の情報は、私が見つけたものからかなり限られています。どんな助けでも大歓迎です。

編集:明確にするために、ビットマップをキャンバスに描画するときにビットマップを明るく/暗くする方法を探しています

4

2 に答える 2

9

次の 2 つの方法で問題を解決できます。

  1. ビットマップの後ろに暗い長方形を置き、ビットマップの不透明度を設定します。

  2. ビットマップを描画するときは、ペイントで ColorFilter を使用します。ビットマップを暗くするには、半透明の黒色を使用します

于 2012-06-24T03:26:48.943 に答える
0

ねえ、私は黒い線を削除するためにある種のトリックを使用しました.私の消去ボタンでは、XferModeを使用する代わりに、色を白に設定しました..それは機能し、見栄えがします..

if(erase){
paintColor = Color.parseColor(newColor);
drawPaint.setColor(paintColor);
}
于 2013-09-23T20:46:37.223 に答える