我们说我有一些颜色的图像。 我想以编程方式用新的颜色替换特定的现有颜色。 (简单,不需要支持渐变,就像我看到elsewhere)。
E.g。我有一个显示绿色圆圈的图像,我想将其显示为红色圆圈(最初用给定(R,G,B)定义的每个像素现在都显示为新的(R,G,B)。
有关如何使用Apple ios SDK做到这一点的想法吗? (或开源...) 什么是最好的图像文件格式,使这更容易(png,jpg ....)?
谢谢!
答案 0 :(得分:0)
您应该可以使用Core Image过滤器执行此操作。 “颜色立方体CI”滤镜可以将源颜色范围映射到目标颜色。您应该能够定义源颜色范围并将其映射到不同的颜色。
那个CI过滤器我没有弄清楚如何使用。如果您搜索" Color Cube"在Xcode帮助系统中,有一个示例代码可以执行" chromakey"将绿色阴影剔除透明的效果。您应该能够根据自己的需要进行调整。
我在Github上有一个名为CIFilterTest的项目,它展示了如何使用Core Image过滤器来处理图像。它是作为通用系统编写的,它允许您尝试使用一组标准参数(点,颜色,1或2个源图像和浮点值)的各种滤镜。我从未做过生成3D颜色映射的时间" cube"颜色立方体过滤器需要作为输入,因此它不允许您使用该特定过滤器。您必须查看Xcode文档中的颜色Cube示例代码以生成Color Cube过滤器的输入,但我的示例应用程序应该对基于CI的图像处理的基本设置有很大帮助。
答案 1 :(得分:0)
在这里回答了类似的问题: Replace particular color of image in iOS 简而言之:我建议使用CoreImage过滤器。