GPUImageライブラリは初めてです。
私はそれを使ってカメラからフレームを取得し、それらをリアルタイムでフィルタリングしています。開発中のフィルターに異なるフィルターパラメーターを使用しています。
さまざまなフィルターと並行してカメラ画像をフィルター処理する方法を理解しましたが、ここで実行したいのは、4つのフィルター処理された画像を並べて大きな出力画像を作成する結果画像を出力することです。
私の考えでは、GPUImageTransformFilter
インスタンスとGPUImageAddBlendFilter
インスタンスをチェーンして、合成されたイメージを取得できます。たとえば、2つの画像を縮小して並べるという最も単純なケースでは、次のようになります。
self.transform1 = [[GPUImageTransformFilter alloc] init];
_transform1.affineTransform = CGAffineTransformScale(CGAffineTransformIdentity, 0.5, 0.5);
self.transform2 = [[GPUImageTransformFilter alloc] init];
_transform2.affineTransform = CGAffineTransformTranslate(CGAffineTransformScale(CGAffineTransformIdentity, 0.5, 0.5), 1.0, 0.0);
self.blendFirst1 = [[GPUImageAddBlendFilter alloc] init];
[_transform1 addTarget:_blendFirst1];
[_transform2 addTarget:_blendFirst1];
ただし、これにより、両方の画像が互いに拡大縮小およびオーバーレイされ、結果は画像の端に変換され、残りの半分は空になります。
小さい画像を拡大縮小して並べて表示し、1つの大きな画像を作成する方法についてのアドバイスをいただければ幸いです。
どうもありがとう!