我希望替换图像的特定颜色为用户选择的其他颜色。在替换图像颜色时,我希望保留原始颜色的渐变效果。例如,请参见附加的图片。 我已尝试使用CoreGraphics进行操作,并成功替换了颜色。但是,替换的颜色不能保留图像中原始颜色的渐变效果。有人能帮帮我吗?使用CoreGraphics是否正确?提前致谢。
在经历了一些困难后,几乎遇到了同样的问题(但是使用的是NSImage),我创建了一个类别来替换NSImage中的颜色,该类别使用了ColorCube CIFilter。 https://github.com/braginets/NSImage-replace-color 受UIImage代码的启发(也使用CIColorCube),具体请参见以下链接: https://github.com/vhbit/ColorCubeSample
我在我的项目中经常进行图像之间的颜色转换/混合/替换/交换,并发现以下出版物非常有用,都是由Erik Reinhard撰写的:- 图像之间的颜色转换 - 渲染和捕捉视频的实时颜色混合 不幸的是,我现在不能发布任何源代码(或图像),因为结果将提交给即将举行的会议,但我已经根据以上算法实现了各种变体,并取得了非常令人满意的结果。我相信只要稍加调整(并稍作耐心),您就能够获得您想要的效果!此外,真正的挑战将在于将不同的图片元素分离出来(例如隔离墙壁)。这不亚于Photoshop的魔术棒工具,显然需要大量的处理能力和复杂的算法(而且仍然不完美)。