我正在尝试实现与您在《Read Dead Redemption》(RDR) 游戏中进入菜单时出现的相同效果:
浏览CIFilter
库后,我发现我正在寻找的过滤器是CIColorMonochrome
。在示例图像上应用滤镜后,我得到以下结果:
这看起来很棒,但与 RDR 图片中的效果不太一样。我将在图像上添加一个数字,并且它必须清晰可见。因此,我想知道是否有一个滤镜可以帮助我实现 RDR 画面的黑色、漫画风格。我尝试使用 CIEdgeWork
,但它似乎不起作用。
有什么想法吗?
最佳答案
CIColorMonochrome
不是适合您情况的最佳过滤器,因为输出图像将在白色和您选择的颜色之间着色。如果您查看示例 RDR 图像,就会发现任何地方都没有白色。
相反,删除绿色和蓝色 channel ,只留下红色 channel 以获得红色色调。您还可以应用 CISharpenLuminace
滤镜来提供高对比度和更粗糙的外观:
let zeroVector = CIVector(x: 0, y: 0, z: 0, w: 0)
let outputImage = inputImage
.applyingFilter("CIColorMatrix", parameters: ["inputGVector": zeroVector, "inputBVector": zeroVector])
.applyingFilter("CISharpenLuminance", parameters: ["inputSharpness": NSNumber(value: 2)])
结果:
关于ios - CI过滤器组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45927329/