問題タブ [compositing]

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 に答える
678 参照

c - Pixman 合成とアルファ ブレンディング

以下は小さなテスト プログラムです (リトル エンディアンのマシンで動作します)。

そのままで、結果はすでに私には奇妙です:

私が予想したように、塗りつぶしの色 #FFFFFFFF x マスク 0x80 = #FFFFFF80 なので、#9090FFFF の出力...

ここで、「cfill.alpha = uint16_t(0x80) << 8;」を変更して、塗りつぶしの色を #FFFFFF80 に設定するとします。、結果は本当に間違っているようです:

fill x mask => #FFFFFF40 と予想されるため、出力は #606060C0FF になります。

特に、アルファの低い入力色がターゲット画像の出力を明るくする方法を理解していません。

ここで何が間違っていますか?期待どおりに動作する別の PIXMAP_OP_xxx はありますか?

ありがとう。

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

ios - 透明な UIView のオーバーラップ

backgroundColor不透明度 25%の白で 2 つの UIView を重ねています。小さな部分では、それらは互いに重なり合っています。つまり、その領域では合計して 50% の不透明度になります。

2 つのビューが重なったとしても、25% の不透明度を維持したいと思います。つまり、これらの重なったポイントでは、各ビューの不透明度が 12.5% に下がり、合計で 25% になります。

UIView合成について少し調べてみましたが、これらのモードのどれが役立つか、またはこれら 2 つのインスタンスの特定の部分にどのように適用するかはわかりません。

( http://docs.oracle.com/javase/tutorial/2d/advanced/compositing.htmlは私が読んでいたものCGBlendModeで、それを使用する場合は描画用を見つけました(ただし、可能!))

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

node.js - 複数の画像を 1 つのストリームに合成する方法

複数の画像を、応答としてパイプされる単一のストリームに合成しようとしています。https://github.com/aheckmann/gmでNode.jsとNode用GraphicsMagickを使用しています。

2 つの画像をストリームに合成している場合、正常に動作します。この例では、最終的な合成の 2/3 が期待どおりに表示されます。これが私のコードです:

これはPostmanでうまく機能します すてきな一日を

しかし、3 つの画像を合成しようとすると、画像の下部が意図したとおりに正しく塗りつぶされません。コードは次のとおりです。

出力がこれである理由がわかりません: もう最高の日を過ごしていない

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

python - Nuke が間違ったバージョンの Python にアクセスする

これと非常によく似た問題が発生しています: Using multiple versions of Python

私の問題の文脈は、別の質問を正当化するのに十分なほど異なっていると私は信じています。The Foundry's Nuke の非商用版を起動しようとすると、このエラーが表示されます。エラーは次のように表示されます。

http://community.thefoundry.co.uk/discussion/topic.aspx?f=197&t=113695

ただし、コマンド プロンプトがすぐに閉じる前に返されるエラー メッセージは、最初のリンクに表示されているものです。これにより、Nuke が間違ったバージョンの Python にアクセスしようとしていると思われます (現在、Python 3.5 にアクセスしようとしています)。

私の考え方が正しいと仮定すると、Nuke がアクセスしようとしている Python のバージョンを変更するにはどうすればよいですか? Foundryフォーラムのリンクにあるアドバイスもどれもうまくいきませんでした.言及する必要があります. 私が読んだところによると、Nuke で使用される Python の最新バージョンは 2.7 です。より具体的に質問すると、Nuke が Python 3.5 ではなく Python 2.7 にアクセスできるようにするにはどうすればよいでしょうか? 両方ともデスクトップの 64 ビット Windows 10 にインストールされています。

プロンプトが閉じて Nuke の起動に失敗すると、構文エラーが返されます

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

c# - すべてのパススルーが出力をスケーリングすることを除いて、OpenTK/C# で動作する画像合成 (白/アルファマスク) があります。

だからここに私が解決しようとしてきた問題があります。与えられた:

  • a) 商品画像。フルカラーの予定です
  • b) その画像のマスク: RGBA(0,0,0,0) は無視を意味し、RGBA(255,255,255,255) は置換を意味します
  • c) 合成画像:これはマスクと合成されます

マスクと合成画像を合成すると、すべての白いピクセルが合成ピクセルになりますが、透明なピクセルは透明のままです。これは最終的に製品画像の上に重ねられ、マスク領域のピクセルのみが効果的に変換されます。

1つの小さな問題を除いて、これは完全に機能しています。Composite 関数を通過するたびに、出力が 0.5 のスケールで縮小されているようです。

私のソリューションには少しのコードがあるので、必要と思われるものを投稿しますが、お気軽にお問い合わせください。

これが私の複合メソッドです:

これが TexturedPolygon クラスです

BasePolygon クラスは次のとおりです。

ここに BaseTexture クラスがあります

OpenGLHelpers 内のメソッドなど、さらにコードが必要な場合は、提供できます。通常、私の描画コードは機能することに注意してください。ここではプロジェクションを設定しなかったので、トランスフォームをリセットしました。とにかく、移動と回転は今のところゼロなので、スケールをリセットするだけです。私の基本的な描画方法は [0,1] から正規化されており、スケールは画像を任意の寸法に引き伸ばすものです。

また、これは、スケールがめちゃくちゃになるという意味です。あの赤いフラスコみたいな形で、フラスコの中は完全に覆われているはずなのに、フラスコ自体が縮んでしまった!二重に縮んだので…

複合不良

これは、4 つのパススルーによる反復を示しています。スマイリー フェイスは、追加された別のマスク/コンポジット コンボでした

ベース画像: ベースイメージ

マスク 1: マスク 1

コンポジット 1: コンポジット 1

助けてくれた人に感謝します