Ios 使用CIFilter仅对图像的一部分应用过滤器

Ios 使用CIFilter仅对图像的一部分应用过滤器,ios,objective-c,image,cifilter,Ios,Objective C,Image,Cifilter,我正在用Objective C编写一个照片编辑应用程序,我想包括一个功能,用户可以对照片的不同部分应用不同的过滤器。我知道如何将过滤器应用于整张照片,但我还没有找到一种方法将过滤器仅应用于照片的一部分。这个问题与这个问题类似,只是使用遮罩不起作用,因为过滤器可以根据用户的不同应用于照片上的任何位置,我需要一个适用于苹果提供的所有类型过滤器的答案。只是一个想法,也许你可以从CGRect创建一个新的UIImage,应用过滤器,然后将过滤后的图像放回同一位置的原始图像上。我曾想过这样做,但你认为这会占

我正在用Objective C编写一个照片编辑应用程序,我想包括一个功能,用户可以对照片的不同部分应用不同的过滤器。我知道如何将过滤器应用于整张照片,但我还没有找到一种方法将过滤器仅应用于照片的一部分。这个问题与这个问题类似,只是使用遮罩不起作用,因为过滤器可以根据用户的不同应用于照片上的任何位置,我需要一个适用于苹果提供的所有类型过滤器的答案。

只是一个想法,也许你可以从
CGRect
创建一个新的
UIImage
,应用过滤器,然后将过滤后的图像放回同一位置的原始图像上。我曾想过这样做,但你认为这会占用太多时间吗?我希望这个功能是无缝的,我认为创建一个UIImage,应用过滤器,然后将其放回原始图像将花费太多时间,并且对一张照片应用多个过滤器将是一个巨大的痛苦,因为每次应用新过滤器时,你都必须等待。不确定。只有一种方法可以找到…好吧,我来试一试…CG API将图像复制和渲染到图形环境中的速度非常快。很可能你的滤镜比像素拷贝需要更长的处理时间。