HexColor到HSV转换Java

问题描述 投票:0回答:1

我正在寻找一种在Java中将HexColors转换为HSV / HSB模型的方法,以便可以将颜色分为X色族,其中X是(红色,绿色等)。我遇到了“色轮”模型,其中“红色”跨色相为60度(-30度到+30度)。因此,我想将Hex颜色转换为HSB / HSV模型,并找到位于相应分叉范围内的Hue。

我尝试使用java.awt RGBoHSB方法来获取带有HSB的浮点数组。从该方法返回的色相值对我来说似乎不是度/弧度,因此我无法分叉。此外,我想避免使用java.awt,所以有人可以建议一些其他方法来将十六进制颜色转换为HSV格式,从而解决我的问题,并且可以根据色轮将颜色分为两类。

java colors hex awt hsv
1个回答
0
投票

我用于将十六进制转换为RGB的

 public Color hex2Rgb(String colorStr) {
  return new Color(
          Integer.valueOf( colorStr.substring( 1, 3 ), 16 ),
          Integer.valueOf( colorStr.substring( 3, 5 ), 16 ),
          Integer.valueOf( colorStr.substring( 5, 7 ), 16 ) );

}

并且为了将RGB转换为所需格式,我遵循了文章https://www.geeksforgeeks.org/program-change-rgb-color-model-hsv-color-model/。这帮助我根据色轮理论(http://warrenmars.com/visual_art/theory/colour_wheel/evolution/evolution.htm

分离了彩色家族。

PS:这未使用AWT方法

© www.soinside.com 2019 - 2024. All rights reserved.