当前位置:  开发笔记 > Android > 正文

在Android上不准确的HSV转换

如何解决《在Android上不准确的HSV转换》经验,为你挑选了0个好方法。

我正在尝试创建一个壁纸,并在"android.graphics.color"类中使用HSV转换.当我意识到将具有指定色调(0..360)的创建的HSV颜色转换为rgb颜色(整数)并且将后转换为HSV颜色不会导致相同的色调时,我感到非常惊讶.这是我的代码:

int c = Color.HSVToColor(new float[] { 100f, 1, 1 });
float[] f = new float[3];
Color.colorToHSV(c, f);
alert(f[0]);

我从100度的色调开始,结果是99.76471.我想知道为什么(在我看来)存在相对较大的不准确性.

但更大的问题是,当您再次将该值放入代码中时,新结果会再次降低.

int c = Color.HSVToColor(new float[] { 99.76471f, 1, 1 });
float[] f = new float[3];
Color.colorToHSV(c, f);
alert(f[0]);

如果我从99.76471开始,我得到99.52941.这对我来说是个问题.我在java中使用"java.awt.Color"类做了类似的事情,我没有遇到这些问题.不幸的是,我不能在android中使用这个类.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有