2016-07-06 4 views
0

1つのビデオに2つのフィルタを追加したいので、画面の半分が1つのフィルタを示し、残りの半分が別のフィルタを示します。しかし、画面の異なる部分だけで、同じビデオに適用する必要があります。ビデオの一部にGPUImageフィルタを適用する

GPUImageで行うことはできますか?そうでない場合、代替案は何ですか?

enter image description here

+0

私はやりたかったことをやったが、ちょっとハッキリだった。フィルタがビデオの一部にのみ適用されるという錯覚を作りたい場合は、2つのレンダリングビューを重ねて重ね合わせてビデオを同期させてください。次に、マスクを上のビューに適用して透明にします。これは、ビデオに2つの異なるフィルタが適用されているという錯覚を作り出します。 – xlogic

答えて

2

まだ少し実験は、the Swift version of GPUImageは画像にフィルタ演算をマスキングするための新たな機能を備えていますが。

ほとんどのフィルタ(現在はすべてではありません)は、フィルタを適用する画像の領域をマスクするための画像を提供するためにmaskプロパティを使用できます。マスク画像では、マスクする領域をアルファチャンネルで示します。不透明領域はフィルタリングされ、透明領域はフィルタリングされません。

+0

ねえ、私はGPUImage2でこれをやろうとしていますが、私が正しいことをしているかどうかは完全にはわかりません。私は画像を(PNG形式で)持っていて、それをマスクプロパティに適用してPictureInputオブジェクト(ImageSourceに準拠)を作成していますが、それは効力を持ちません。すべてのポインタ? – Cocoadelica

+0

@Cocoadelica - 新しい質問として、あなたの設定を記述したコードを尋ねるのが最善でしょう。 –

+0

私はそれを修正しました!ここに投稿した後、常に正しい方法... processImage()を呼び出す必要があります – Cocoadelica

関連する問題