153

AndroidグラフィックでPorterDuff.Modeが何を意味するのか知りたいです。

転送モードであることを知っています。

また、DST_IN、Multiplyなどの属性があることも知っています。

4

2 に答える 2

342

これは、Googleのエンジニアによるイラスト付きの優れた記事です。

http://ssp.impulsetrain.com/porterduff.html

PorterDuffは、「不規則な形の段ボール」を重ね合わせたように画像を組み合わせる方法、および重なり合う部分をブレンドするスキームとして説明されています。

Androidで画像を作成するデフォルトの方法はPorterDuff.Mode.SRC_OVERです。これは、ターゲット画像のにソース画像/色を描画することと同じです。つまり、期待どおりの動作を行い、ソースイメージ(描画しているもの)をデスティネーションイメージ(キャンバス)の上に描画します。デスティネーションイメージは、ソースイメージのアルファによって定義された程度まで透けて見えます。

記事からのPorterDuffインフォグラフィック

以下のキーを使用して、Androidドキュメントが他のモードを説明するために使用する代数を理解できます(同様の用語を使用した詳細な説明については、記事を参照してください)。

  • Saソースアルファ
  • Scソースカラー
  • デスティネーションアルファ
  • Dcデスティネーションカラー

ここで、alphaは値[0..1]であり、色はチャネルごとに1回置換されます(したがって、赤、緑、青のそれぞれに対して1回式を使用します)

結果の値は、次のように中括弧で囲まれたペアとして指定されます。

[<alpha-value>,<color-value>]

ここalpha-valueで、およびcolor-valueは、それぞれ結果のアルファシャネルと各カラーシャネルを生成するための式です。

于 2014-09-03T22:27:03.883 に答える
4

アルファ値に基づいて画像を構成する方法を定義します。詳細はこちらhttp://en.wikipedia.org/wiki/Alpha_compositing

于 2013-04-14T07:57:41.127 に答える