問題タブ [porter-duff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1333 参照

android - Android:Photoshopのようなオーバーレイブレンドを作成するには?

Android アプリケーションで (Photoshop のような) オーバーレイ ブレンドを実現しています。さまざまな組み合わせでさまざまな PorterDuff.Modes (つまり、SCREEN、MYLTIPLY など) を試しましたが、完璧なオーバーレイ効果を実現できませんでした。効果を得る方法はありますか?

0 投票する
1 に答える
2094 参照

android - PorterDuff.Mode.MULTIPLY - Android でのこの色変換の意味

デフォルトの Android テーマの下に、3 つのカスタム カラー ボタンがあります。

ボタン http://img94.imageshack.us/img94/1723/themew.jpg

/values-v11/styles.xmlを使用して Theme.Holo に切り替えると、

色は次のように変更されます。

http://img710.imageshack.us/img710/1659/themeholo.jpg

私が推測するように、デフォルトのボタンの色が新しい Holo テーマで変更され、同じ変換パラメーターで変換されると、予期しない色になります。初期の色を残したい。この目的のために、私はPorterDuff.Mode.MULTIPLYの変換規則を知る必要があります。私がAndroidのドキュメントから持っているのは

どういう意味ですか?おそらく、Sはソース ビットマップ (ボタン ドローアブル button.getBackground()) のポイントであり、Dは私の customColor の「ポイント」です...この式から新しい変換された色を再現するにはどうすればよいですか? 新しい色Nは次のことを意味しますか?

または何!?

更新: 私はそれを仮定します:

  1. 上記のシンプルな Android テーマのボタンにはbtn_default_normal.9.pngを使用しました

  2. btn_default_normal_holo_dark.9.pngは Android Holo テーマに使用されます

Holo テーマでの色の問題を修正するために、2 番目 (Holo) の色#66999999か​​ら最初の色# F2E1E1E1 への中間変換を行います。

次に、新しいホロ テーマが導入される前に使用したのと同じ変換を適用します。この中間色を計算するには、2 つのディオファントス方程式を 16 進法で解く必要があります。ここで、Na、Nc は [0, FF] の区間にあり、m、n - は整数です。

したがって、中間色は#23898989です。

残念ながら、得られた中間色を実装しても、結果として目的の色が得られません...どこが間違っていますか?

0 投票する
1 に答える
9612 参照

android - 透明オーバーレイのマスクを作成するにはどうすればよいですか?

次のシナリオがあります。背景として使用されるビットマップと、50%透明または不透明(実行時に変更可能)のオーバーレイとして使用される別のビットマップ、およびこの2番目のビットマップのマスクを含む3番目のビットマップ。さまざまなXfermodes構成と描画順序を試しましたが、正しいものを見つけることができませんでした。

プログラムの2回の実行間、または構成の変更間でマスクを保存できる必要があるため、マスクをビットマップとして使用しています。これは、ユーザーが画面に描画するときに作成され、戦争の霧を効果的にクリーンアップします。

最善の試みによるからのコードスニペット。思ったように動かなかったのは、マスクの透明度だけでした。

Paintオブジェクト:

これは私が現在の構成でより明確にするために得るものです: スクリーンショット

Paintオブジェクトにアルファを設定してこれを実行できるかどうかはわかりません。そうでない場合は、アルファ問題の別の提案や解決策、できれば戦争の霧として使用されているビットマップの再現が必要ないものを気にしません。

編集:

次のようにすることで、希望する結果を得ることができました。

Paintオブジェクト:

しかし、ビットマップを5回描画するのは無駄のようです。これはAndroidハードウェアの高速化によりOpenGLテクスチャで実行され(ビットマップをデバイスのGPUで受け入れられる最高の解像度に再スケーリングします)invalidates()、Nexus SとA500の両方で驚くほどスムーズに実行されるように細心の注意を払っていますが、他のデバイスについてはよくわかりません(プロジェクトはとにかく4.0以降になる予定です)。

しかし、私はそれを行うためのより良い方法があるに違いないと確信しています。私は、その多くの過剰描画を回避する方法、または少なくともそれらのXfermodesが何を意味するのかを正しく説明でき、私がものを過剰描画していない方法を望んでいます。

0 投票する
3 に答える
21331 参照

android - Android ColorFilter - Porter-Duff モード

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」で設定された色にすることもできます。

誰が知っていますか、それがどのように機能するのですか?

0 投票する
2 に答える
6442 参照

graphics - ハードライト、ソフトライト、カラードッジ、カラーバーンのブレンディングモード式?

ブラウザがサポートを展開することを見越して、CSSに貧乏人のブレンディングモードを実装しようとしています。(私が使用しているCSSプリプロセッサはStylusであり、これは議論にとって重要ではありません。) W3C SVG仕様からブレンドモード計算のソースを見つけましたが、一部の方程式は予想とは大きく異なる結果をもたらします-具体的にはhard-light、、、、、および。soft-lightcolor-dodgecolor-burn

問題のブレンディングモードのより正確で信頼性の高い式を知っている人はいますか?各色のRGBチャンネルにアルファを事前に乗算しています。

これが私がこれまでに得たものです。 https://github.com/pdaoust/stylus-helpers/blob/master/blend.styl

0 投票する
1 に答える
2736 参照

android - 背景が黒の場合、AndroidPorterDuff.Mode.CLEARが正しく機能しない

作業中のアプリケーションについて少し助けが必要です。絵画用のアプリケーションを作成しようとしていますが、数日前に気付いた問題が1つあり、それを解決するために調査を行うことにしました。PorterDuff.Mode.CLEARブラシを消しゴムとして使用すると、背景が白のときに正常に機能します。しかし、背景を他の色(たとえば、黒のようにmCanvas.drawColor(Color.BLACK);)に設定し、消しゴムを使用した後、消しゴムを使用する場所は白い色でペイントされます。消しゴムの変数を設定する方法は次のとおりです。

それで、なぜそれが起こっているのか、そしてどうすればその問題を解決できるのかという考えはありますか?

前もって感謝します!

0 投票する
0 に答える
327 参照

java - Android: PorterDuff.Mode.CLEAR のカスタマイズ

PorterDuff.Mode.CLEAR を使用して Canvas に描画すると、move イベントの後に黒い軌跡が残ります。たとえば、トレイルの幅と色を変更したいなど、これをカスタマイズできますか?

0 投票する
1 に答える
1298 参照

c# - PorterDuff.Mode.Multiply が意図したとおりに動作しませんか? 透明ではなく黒の背景

PorterDuff.Mode.Multiply に問題があります。すべてのアルファ チャネルが「黒」に設定されているようです。これは意図したとおりですか?photoshop / gimp などでは、効果は本来あるべき場所に透明性を残します。Darken は透明度をそのままにしますが、RGB の値に効果を適用します。これは私が望むものですが、Multiply の効果を使用します。

オーバーレイで黒い背景の問題を引き起こすのは、PorterDuff.Mode.Multiply だけです。

ヘルプ?:)

これは Android 用の Mono にあります

編集: DstIn にも同じ望ましくない効果があります。(アルファは黒)

0 投票する
0 に答える
892 参照

android - Porterduff.mode.overlay の使い方

「オーバーレイ」porterduff モードを使用するにはどうすればよいですか? 私が欲しいのは、gimp のオーバーレイ モードのようなものです。「オーバーレイ」は porterduff.mode のドキュメントページに記載されていますが、使用できません。

ps「乗算」は私が探しているものではありません。

0 投票する
4 に答える
48293 参照

android - フレーム内の画像のマスキング(トリミング)

このような複雑な形の画像を表示したいリッチなUIアプリケーションを持っている

ここに画像の説明を入力してください

今私が欲しいのはマスク画像に従って画像をトリミングすることです。実際には画像は動的になり、カメラまたはギャラリー(正方形または長方形)からインポートでき、その画像を上記のようにレイアウトフレームに収めたいです。

では、どうすればこれを達成できるのでしょうか。任意のアイデア/ヒントを歓迎します

背景
ここに画像の説明を入力してください
フレームマスク
ここに画像の説明を入力してください

このように