Android の問題を解決しようとしていColorFilters
ます。ドキュメンテーションは非常に貧弱であるため、主な方法はさまざまなバリエーションを試すことです。
問題:
ビットマップがあります。alpha=255 のピクセルもあれば、alpha=0 のピクセルもあります。特定の色で円を描こうとしています。ビットマップでアルファチャンネルを変更せずに、描画中にビットマップアルファに色を乗算したい。
したがって、円を描いている間、アルファ= 0のピクセルをペイントしないで、アルファ= 255のピクセルを希望の色でペイントします。アルファチャンネルは変更しないでください。
porter-duff ColorFilter (Android SDK の PorterDuffColorFilter クラス) を使用しようとしています。
ここの公式サイトにはモードが多すぎて理解できない説明があります:http://developer.android.com/reference/android/graphics/PorterDuff.Mode.html
DST_ATOP
またはを使用する必要があると思いますSRC_ATOP
が、説明したように機能しません。
srcColor
また、 porter-duff colorfilter のコンストラクタには奇妙なパラメータがあります。
式中の「さ」と「さ」の意味がわかりません[Da, Sc * Da + (1 - Sa) * Dc]
。colorfilter コンストラクターに渡された色から取得することも、「paint.setColor」で設定された色にすることもできます。
誰が知っていますか、それがどのように機能するのですか?