【问题标题】:HexColor to HSV conversion Java十六进制颜色到 HSV 转换 Java
【发布时间】:2020-08-05 09:47:49
【问题描述】:

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

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

【问题讨论】:

标签: java colors hex awt hsv


【解决方案1】:

为了将十六进制转换为 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 转换为 HSV,我遵循了文章 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 方法

【讨论】:

    猜你喜欢
    • 2019-10-29
    • 2012-09-14
    • 2018-02-18
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    相关资源
    最近更新 更多