問題タブ [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 に答える
1168 参照

iphone - CoreGraphicsブレンドモードのポーターダフへのマッピング

UIImage特に、CoreGraphicsを介して2つのオブジェクトをブレンドすることで画像操作を行うiPhoneアプリがありますCGContextSetBlendMode。私は現在、Androidへの移植を研究しています。BitmapPorterDuffモードを使用してAndroid上のオブジェクトに結合するプロセスを実行しました。ただし、もっと複雑な合成が必要です。たとえば、私はkCGBlendModeHardLight多くのブレンドに使用しています。

ソース画像のサンプルカラーに応じて、乗算またはスクリーンカラーのいずれか。ソース画像のサンプルカラーが50%グレーより明るい場合、スクリーニングと同様に背景が明るくなります。ソース画像のサンプルカラーが50%グレーよりも暗い場合、乗算と同様に背景が暗くなります。ソース画像のサンプルカラーが50%グレーの場合、ソース画像は変更されません。純粋な黒または純粋な白に等しい画像サンプルは、純粋な黒または白になります。全体的な効果は、ソース画像に厳しいスポットライトを当てることによって達成するものと似ています。これを使用して、シーンにハイライトを追加します。

しかし、Porter-Duffを介してこれをエミュレートすることは(可能であれば)とにかくわかりません。Androidは、すぐに使用できる優れた画像操作アルゴリズムをサポートしていませんか?Porter-Duffを何らかの方法で使用して、より高度なブレンドモードをエミュレートすることは可能ですか?

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

java - Android スクラッチ カード アプリ

私は大学向けの小さなプロジェクトを行っていますが、スクラッチ カード アプリの作成方法を教えてくれる人がいるかどうか疑問に思っています。このアプリには、別の画像を重ねる画像が必要です。一番上のものは、ユーザーが画像をこする場所に応じて画像を削除できるようにする必要があります。したがって、削除された画像の一部が下の画像を明らかにします。スクラッチカードとほぼ同じです。どんな助けでも素晴らしいでしょう!

これは、現在使用しているコードです。

上記のように、私たちが試したことに対して多くのコメントが寄せられています。理想的には、Panel クラスのインスタンスを作成し、workinggraphicsクラス contextview を XML LinearLayout に設定し (または、SurfaceView w/e を使用するかどうかはわかりません)、定義済みの背景画像を設定できるようにしたいと考えていますLinearLayout。キャンバスが設定したビットマップ イメージを消去するときに表示される XML。

とにかく、どんな提案も大いに感謝します。

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

android - Androidサークル操作

完全な円のPNGがあります。各象限に描かれている円のアニメーションを作成したいと思います(時計回りに描かれているように)。これどうやってするの?例を持っている人はいますか?

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

android - Android アルファ マスキングの質問

オーバーライドされた onDraw() 関数には、2 つのゲージを含むキャンバスがあります (ゲージは PNG です)。ゲージは互いに積み重ねられています。上部のゲージの半分だけを表示し、残りの半分の下部のゲージを表示したいと思います。これが私がこれまでに持っているものです:

うまくいかないようです、誰かアイデアはありますか?

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

android - Android ゲージ アニメーションの質問

さて、私はこれを数日間やろうとしてきましたが、どこにも行きません. だから私は次の2つの画像を持っています:

まずはRPMゲージ

RPMゲージ

2 番目の画像は、rpm ゲージがいっぱいであることを表す真っ白なグラフィックです。

フルゲージ

私は次のことをしたい:

  1. ユーザーに RPM の入力を求めます。たとえば、1.2 と入力すると、ゲージは次のようにいっぱいになります。

出力

ユーザー入力が機能しています。アニメーションのヘルプが必要です。これが私が試したことです:

  1. PorterDuff を使用してみましたが、白いバーだけでなく背景のゲージもクリップされます
  2. 画像を小さなビットマップに分割して配列に保存しようとしましたが、パーツを思い出すことができましたが、これは遅く、しばしばクラッシュしました
  3. 最初に Gauge をキャンバスに適用してからキャンバスを保存することで、ある程度の進歩を遂げました。次に、白い画像でパスをクリッピングしてから、キャンバスを復元します。ただし、左下から右下に 180 度 (CW) まで円形にクリップする方法がわかりません。これが最善の方法ですか?

おそらく、これを行うためのより簡単で効率的な方法があることは知っていますが、手がかりがありません。良いアイデアがある人はいますか?

※画像は全てPNGです

前もって感謝します!

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

android - 2つの画像を乗算と不透明度%でブレンドする

Multiplyのようなブレンディングモードを使用して、Androidで2つの画像をブレンドしようとしています。

これは機能しますが、実行される乗算の「量」を制御することはできません。これは常に完全な乗算転送です。理想的には、0%の乗算は、変更なしでベースイメージ(img1)と同じになりますが、100%の乗算は、上記のコードで得られる結果になります。

paint.setAlpha()これにはうまくいかないようです。

新しい「レイヤー」の不透明度を%に設定する他の方法はありますか?

PSこれを使って乗算を機能させる方法はいくつかあります(を使用してLightingColorFilter)、事前に乗算して色を白にオフセットしますが、これは乗算モードに非常に固有です..不透明度を適用する方法を見つけようとしています/ %他のすべての転送モードにも当てはまります。

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

android - ポーターダフとパス

私のプロジェクトでは、画面全体をビットマップで埋めています。このビットマップで、パスを描画します

ペイントは、パスのコンテンツをストロークして塗りつぶすために設定されます。私が達成することは、パスと交差するビットアンプの部分を消去することです。パスの代わりに別のビットマップを使用し、ポーター ダフ ルールを使用して、同じ動作を得ることができました。パスで同じことをする機会はありますか?

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

android - Android カラー オーバーレイ - PorterDuff モード

ビューの背景として白黒のナインパッチ ドローアブルがあり、図面を表示したままで希望の色を適用する半透明のオーバーレイのように、それに色を適用したいと考えています。

うまくいくかもしれないと思っdrawable.setColorFilter(color,mode)たのですが、さまざまなモードが何を意味するのかわかりません。

誰かヒントをくれませんか?

0 投票する
5 に答える
66018 参照

android - imageviewにカラーフィルターを追加したい

にを追加したいのですColorFilterImageView

現在使用しているもの:

PotterDuffなどのSRC_IN複数のモードをチェックしましたSRCが、どのモードでも違いはありません...すべてのモードで全体ImageViewが完全な赤色に変わります。

画像がREDDISHの色合いで見えるように、既存の画像にREDカラーをブレンドする必要があります。

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

android - アンドロイドグラフィックスでPorterDuff.Modeはどういう意味ですか?それは何をしますか?

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

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

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