我想用其他用户选择的颜色替换图像的特定颜色。在替换图像颜色时,我想保持原始颜色的渐变效果。例如,请参阅附加的图像。
我试过用CoreGraphics&我成功取代了颜色。但替换颜色不会保持图像中原始颜色的渐变效果。
有人可以帮我这个吗? CoreGraphics是正确的方法吗? 提前谢谢。
答案 0 :(得分:0)
我在项目中的图像之间进行了大量的颜色转换/混合/替换/交换,并且发现以下出版物非常有用,都是由Erik Reinhard完成的:
不幸的是我现在无法发布任何源代码(或图像),因为结果正在提交给即将举行的会议,但我已经实现了上述算法的变体,并且结果令人满意。我肯定会有一些调整(并且有点耐心),你可能会得到你想要的东西!
编辑:
此外,真正的挑战在于分离不同的图像元素(例如隔离墙壁)。这与Photoshop的魔棒工具不同,后者显然需要大量的处理能力和复杂的算法(并且仍然不完美)。
答案 1 :(得分:-1)
经过几乎同样的问题(但是使用NSImage),在NSImage中使用ColorCube CIFilter替换了颜色。
https://github.com/braginets/NSImage-replace-color
受此UIImage代码的启发(也使用CIColorCube): https://github.com/vhbit/ColorCubeSample