查找两种颜色之间的颜色的算法-在绘画颜色的颜色空间中
||
当混合蓝色和黄色油漆时,结果是某种绿色。
我有两种rgb颜色:
蓝色=(0,0,255)
黄色=(255,255,0)
找到两种颜色混合使用时产生的rgb颜色的算法是什么?该算法产生的颜色不必十分精确。对于上面的示例,它只需要看起来像某种绿色即可。
提前致谢。
编辑:根据LaC的回答,用Go编写的此功能对我有用。
func paintMix(c1, c2 image.RGBAColor) image.RGBAColor {
r := 255 - ((255 - c1.R) + (255 - c2.R))
g := 255 - ((255 - c1.G) + (255 - c2.G))
b := 255 - ((255 - c1.B) + (255 - c2.B))
return image.RGBAColor{r, g, b, 255}
}
编辑#2虽然如此,但设法将青色和黄色混合,蓝色和黄色之间的混合变为黑色,这似乎不正确。我仍在寻找有效的算法。
编辑#3这是Go中使用HLS颜色空间的完整工作示例:http://go.pastie.org/1976031。谢谢马克·兰瑟姆。
编辑#4似乎更好的混色方法是使用Kubelka-Munk方程
没有找到相关结果
已邀请:
5 个回复
旅牢斯讲
请注意,由于上述原因,该答案并不模拟涂料混合。而是提供直观的颜色混合,这是任何现实世界中都不存在的。
坝胺绣敝
闪票仇门韧
哭木算
闲窍
运行此类代码时: