Преобразование HexColor в HSV Java - PullRequest
0 голосов
/ 22 апреля 2020

Я ищу способ преобразования HexColors в модель HSV / HSB в Java, чтобы я мог раздвоить цвета в семейство X Color, где X (красный, зеленый и т. Д. c). Я столкнулся с моделью Color Wheel, где красный цвет охватывает оттенок 60 градусов (от -30 градусов до +30 градусов). Поэтому я хотел преобразовать цвет Hex в модель HSB / HSV и найти оттенок, который лежит в соответствующем диапазоне для бифуркации.

Я пытался использовать метод java .awt RGBoHSB, чтобы получить массив с плавающей точкой с HSB. Значение Хюэ, возвращаемое методом, кажется мне не в градусах / радианах, поэтому я не могу раздвоиться. Более того, я хочу избежать использования java .awt , поэтому кто-то может предложить какой-нибудь альтернативный метод преобразования шестнадцатеричных цветов в HSV в формате, который решит мою проблему, и я могу раздвоить цвета в классы в соответствии с покрасить колесо.

1 Ответ

0 голосов
/ 24 апреля 2020

Для преобразования Hex в 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

...