如何将复数编码为RGB像素,反之亦然?将复数编码为RGB像素并返回
大概(绝对值的对数)变为亮度,参数变为色相。
去饱和像素在逆向变换时应该接受随机参数。
Something like: 0 -> (0,0,0) 1 -> (255,0,0) -1 -> (0,255,255) 0.5 -> (128,0,0) i -> (255,255,0) -i -> (255,0,255) (0,0,0) -> 0 (255,255,255) -> e^(i * random) (128,128,128) -> 0.5 * e^(i *random) (0,128,128) -> -0.5
有没有现成的公式呢?
编辑:看起来我只需要将RGB转换为HSB并返回。
编辑2:现有的RGB - > HSV转换片段:
if (hsv.sat == 0) { hsv.hue = 0; // ! return hsv; }
我不想0.我想随机的。而不仅仅是如果hsv.sat==0
,但如果它应该是较低(“应该”意味着最大饱和度,从复数转换后的饱和度)。
本周早些时候,我正在阅读关于这个话题的内容,但现在我找不到它 - 尽管你处于正确的轨道 - 幅度 - >亮度,相位 - >色调。使用HSV模型,然后转换为RGB。 – 2010-04-02 15:13:19
是的,我会用HSV。 – 2010-04-02 15:19:26