我想弄清楚如何在两种颜色之间实现平滑过渡。
即。此图片来自Wikipedia。
当我尝试使用我的代码(C ++)做同样的事情时,想到的第一个想法就是使用HSV色彩空间,但是显示出令人烦恼的中间颜色。
实现这一目标的好方法是什么?
答案 0 :(得分:1)
这听起来很奇怪,也许......但是顶点着色器会很好地完成这个。如果那是一个四边形(两个tris),那么在左边2个顶点放置一种颜色,在右边放置另一种颜色,它应该很好地融合。
警告:假设你正在使用某种OpenGL。
答案 1 :(得分:0)
我觉得我能回答的问题的唯一部分是你必须以某种方式在HSV的H部分过渡太多的值。
答案 2 :(得分:0)
这是由于两者之间缺乏颜色造成的,因为黑色(或你的灰色)=去饱和。这就像将两个透明的淡入淡出图像放在一起,中间有一个透视区域,因为2 50%的透明度不等于100%的纯色。
为了避免这种情况,我建议将一种颜色放在另一种颜色之上并将其淡化为透明。这样就有一个纯色底座,上面有过渡。
答案 3 :(得分:0)
我不知道你使用什么显示(DirectX,Windows显示器或其他什么),但尝试只有两个图像,一个纯色和一个颜色,从固体到透明前面淡入淡出。这可能有用。