android– 将RGB值转换为色轮坐标

android– 将RGB值转换为色轮坐标,第1张

概述我有一张来自谷歌的色轮图片,现在我想找到一种方法以某种方式计算色轮中任何rgb颜色的x和y坐标.如果这有点令人困惑我试着解释它好一点:我有一张色轮图片–就像你在paint.net中选择一种颜色一样.我也有rgb值的颜色.现在我想获得具有该颜色的图片的x和y坐标.但是,我不知道如何做到

我有一张来自谷歌的色轮图片,现在我想找到一种方法以某种方式计算色轮中任何rgb颜色的x和y坐标.
如果这有点令人困惑我试着解释它好一点:
我有一张色轮图片 – 就像你在paint.net中选择一种颜色一样.我也有rgb值的颜色.现在我想获得具有该颜色的图片的x和y坐标.
但是,我不知道如何做到这一点.我试图在使用MIT App Inventor 2创建的应用程序中使用它,这限制了我的能力.所以最好的事情是数学解决方案.
我希望有人可以帮助我.

编辑:所以在这里你有我正在使用的图片.我其实一直希望在这里有这个,但忘记了……

解决方法:

我正在尝试在我的iOS应用程序using CIFilter中实现颜色选择器,并且必须解决同样的问题.

我发现给定颜色的HSV值非常适合该色轮:

>色调是车轮周围的角度. 0或1是0或2pi弧度,0.75是pi / 2,0.5是pi等.基本上,从最右边开始顺时针旋转从1到0.
>饱和度是指从圆心到边缘的距离,以半径的百分比表示.中间为0,边缘为1.
> value是颜色的暗度(我在上面链接的帖子中的inputValue).

因此,给定给定颜色的色调和饱和度,请参阅此伪代码:

float pickerWIDth = myPickerImage.size.wIDth;float radius = pickerWIDth / 2;float colorRadius = saturation * radius;float angle = (1 - hue) * (2 * pi);float mIDX = myPicker.size.wIDth / 2; //mIDpoint of the circlefloat mIDY = myPicker.size.height / 2;float xOffset = cos(angle) * colorRadius; //offset from the mIDpoint of the circlefloat yOffset = sin(angle) * colorRadius;Point colorPoint = new Point(mIDX + xOffset, mIDY + yOffset);

value参数将用于实现黑暗滑块.

你需要将RGB转换为HSV – UIcolor会自动为我做这件事,但我敢打赌,在AndroID上也有办法做到这一点.

总结

以上是内存溢出为你收集整理的android – 将RGB值转换为色轮坐标全部内容,希望文章能够帮你解决android – 将RGB值转换为色轮坐标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1104720.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存