在iOS

时间:2018-02-15 04:00:21

标签: ios swift core-image cifilter

有人知道如何创建/应用垃圾或老式过滤器吗?我正在创建一个iOS应用程序,将过滤器应用于照片,只是为了好玩并了解有关CIImage的更多信息。现在,我使用Core-Image通过ciFilter.setValue(value,forKey:key)等命令和相应的命令来应用CIGaussianBlur,CIGloom等。

到目前为止,核心图像过滤器,如模糊,颜色调整,锐化,风格化工作正常。但我想学习如何应用其他照片编辑应用程序中提供的垃圾,复古佩戴效果之一,如下所示:

enter image description here

enter image description here

有人知道如何创建/应用这些过滤器吗? 感谢!!!

1 个答案:

答案 0 :(得分:0)

您有两种选择。

(1)在链中使用“罐装”过滤器。如果一个过滤器的输出是下一个过滤器的输入,则以这种方式编码。在你真正要求输出之前,它不会浪费任何资源。

(2)编写自己的内核代码。它可以是一个颜色内核,它可以独立地改变单个像素,一个 warp 内核可以检查一个像素的值,它是周围的像素来生成输出像素,或者一个< em> general 内核未像前两个那样进行优化。无论哪种方式,您都可以将GLSL用于代码(它几乎是GPU的C语言)。

好的,还有第三个选项 - 上述两个选项的组合。此外,在iOS 11及更高版本中,您可以使用Metal 2编写内核。