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