与GPUImage混合:如何控制第一个图像顶部的第二个图像的位置

时间:2013-11-17 13:09:00

标签: ios uiimage gpuimage blending

我使用以下代码通过Brad Larson使用GPUImage框架混合两个图像。 有没有办法控制topImage相对于baseImage的位置?现在,它将topImage放在baseImage的中间。

GPUImageMultiplyBlendFilter *overlayBlendFilter = [[GPUImageMultiplyBlendFilter alloc] init];
GPUImagePicture *pic1 = [[GPUImagePicture alloc] initWithImage:baseImage];
GPUImagePicture *pic2 = [[GPUImagePicture alloc] initWithImage:topImage];

[pic1 addTarget:overlayBlendFilter];
[pic1 processImage];
[pic2 addTarget:overlayBlendFilter];
[pic2 processImage];

UIImage *blendedImage = [overlayBlendFilter imageByFilteringImage:filteredimage];

[imageView setImage:blendedImage];

1 个答案:

答案 0 :(得分:2)

您需要在照片后使用一个或两个GPUImageTransformFilters,但在混合之前,需要根据需要调整和缩放照片。

默认情况下,框架会拉伸一个图像以适合另一个图像的尺寸,因此您需要使用适用于一个或两个图像的相应变换来解释该图像。您需要在混合之前执行此操作,以便它们正确混合。