IOS - CoreImage将一个图像复合到特定位置的另一个图像

时间:2014-05-01 19:50:31

标签: ios core-image

很抱歉,如果我发布重复的问题。

我是使用CoreImage进行IOS编程的新手。我要将图像合成到另一个图像上。 问题是来自Core image的Composite过滤器不支持特定位置的合成。它仅在位置(0,0)合成两个图像。

例如,我需要在另一个图像的位置(100,100)处合成图像,而不是在左上角。

对此问题的任何建议都必须表示赞赏。

1 个答案:

答案 0 :(得分:4)

我认为,在应用复合滤镜之前,您想要做的是将想要偏移的图像移动到正确的位置。您可以创建CGAffineTransform来执行此操作:

CGAffineTransform transform = CGAffineTransformMakeTranslation(100, 100);
CIImage *adjustedImage = [inputImage imageByApplyingTransform:transform]; 

或者,有一个CIAffineTransform过滤器可以完成同样的工作。获得转换后的图像后,可以正常使用其他图像进行补偿,并在输出中显示偏移量。