HEX в HSV

Ввод HEX
Пример
Вывод HSV

Конвертер HEX в HSV: Бесплатный и надежный онлайн-инструмент

Если вы ищете бесплатный и эффективный инструмент для преобразования HEX кодов цвета в соответствующие им коды цвета HSV, то вы попали по адресу. Наш конвертер HEX в HSV - это онлайн-инструмент, разработанный для точного преобразования цвета веб-дизайна в соответствии с вашими потребностями.

Цель и сценарий

Как веб-дизайнер, вам необходимо поддерживать согласованность цветовой схемы вашего веб-сайта на разных платформах. В то время как HEX коды цвета обычно используются в веб-дизайне, их преобразование в коды цвета HSV необходимо для определенной функциональности. Наш конвертер HEX в HSV - это полезный инструмент для веб-разработчиков, которым нужно преобразовать свои HEX коды цвета в коды цвета HSV.

Преимущества и преимущества

Наш конвертер HEX в HSV имеет несколько преимуществ, которые делают его ценным инструментом для веб-разработчиков:

  • Онлайн и бесплатно: Наш инструмент полностью онлайн и бесплатен, и вам не нужно загружать какое-либо программное обеспечение или устанавливать зависимости, чтобы использовать его.
  • Интуитивный интерфейс: Наш инструмент имеет интуитивно понятный интерфейс, где вы легко можете вводить или вставлять ваши HEX коды цвета, преобразовывать и копировать или использовать образцы цветов.
  • Безопасность данных: Наш инструмент работает локально на вашем компьютере, что гарантирует безопасность ваших данных.

Основной алгоритм/логика

Основной алгоритм или логика для преобразования HEX в HSV основана на модели цвета RGB. Модель цвета RGB объединяет красный, зеленый и синий свет для создания широкого спектра цветов. Для преобразования RGB в HSV сначала необходимо преобразовать RGB в HSL (оттенок, насыщенность, яркость), а затем преобразовать HSL в HSV. Формула для преобразования следующая:

r = R/255
g = G/255
b = B/255

cmax = max(r, g, b)
cmin = min(r, g, b)
delta = cmax - cmin

if delta == 0:
h = 0
elif cmax == r:
h = ((g - b) / delta) % 6
elif cmax == g:
h = ((b - r) / delta) + 2
else:
h = ((r - g) / delta) + 4

h = round(h \* 60)

if h < 0:
h += 360

s = round(delta / cmax _ 100)
v = round(cmax _ 100)

return "hsv({}, {}%, {}%)".format(h, s, v)

Как использовать инструмент

Использование нашего конвертера HEX в HSV просто. Следуйте этим простым шагам:

  1. Введите или вставьте свой код цвета HEX в предоставленное поле ввода, например, так: #ffd500.
  2. Нажмите кнопку "Преобразовать", чтобы преобразовать ваш код цвета HEX в соответствующий код цвета HSV.
  3. Затем вы можете скопировать код цвета HSV или нажать кнопку "Копировать", чтобы скопировать его в буфер обмена.

Примеры на Python, C, JavaScript, Java и PHP

Если вы разработчик, вы можете использовать наш конвертер HEX в HSV в своем приложении, включив следующий код на одном из указанных языков программирования:

Python

def hex_to_hsv(hex):
    r, g, b = tuple(int(hex[i:i+2], 16) for i in (0, 2, 4))
    r, g, b = r / 255.0, g / 255.0, b / 255.0
    cmax, cmin = max(r, g, b), min(r, g, b)
    delta = cmax - cmin
    if delta == 0:
        hue = 0
    elif cmax == r:
        hue = ((g - b) / delta) % 6
    elif cmax == g:
        hue = ((b - r) / delta) + 2
    else:
        hue = ((r - g) / delta) + 4
    hue = round(hue * 60)
    if hue < 0:
        hue += 360
    saturation = round(delta / cmax * 100)
    value = round(cmax * 100)
    return "hsv({}, {}%, {}%)".format(hue, saturation, value)

hex_code = "#ffd500"
hsv_code = hex_to_hsv(hex_code)
print("HSV:", hsv_code)

C

#include <stdio.h>
#include <stdlib.h>

void hex_to_hsv(char *hex) {
    int r = strtol(hex, NULL, 16) >> 16;
    int g = strtol(hex, NULL, 16) >> 8 & 0xFF;
    int b = strtol(hex, NULL, 16) & 0xFF;
    float r_f = r / 255.0;
    float g_f = g / 255.0;
    float b_f = b / 255.0;
    float cmax = fmax(r_f, fmax(g_f, b_f));
    float cmin = fmin(r_f, fmin(g_f, b_f));
    float delta = cmax - cmin;
    float hue;
    if (delta == 0) {
        hue = 0;
    } else if (cmax == r_f) {
        hue = fmod((g_f - b_f) / delta, 6);
    } else if (cmax == g_f) {
        hue = ((b_f - r_f) / delta) + 2;
    } else {
        hue = ((r_f - g_f) / delta) + 4;
    }
    hue = round(hue * 60);
    if (hue < 0) {
        hue += 360;
    }
    int saturation = round(delta / cmax * 100);
    int value = round(cmax * 100);
    printf("HSV: %d, %d%%, %d%%", (int)hue, saturation, value);
}

int main() {
    char hex[] = "ffd500";
    hex_to_hsv(hex);
    return 0;
}

JavaScript

function hex_to_hsv(hex) {
  var r = parseInt(hex.substring(0, 2), 16) / 255;
  var g = parseInt(hex.substring(2, 4), 16) / 255;
  var b = parseInt(hex.substring(4, 6), 16) / 255;
  var cmax = Math.max(r, g, b);
  var cmin = Math.min(r, g, b);
  var delta = cmax - cmin;
  var hue;
  if (delta === 0) {
    hue = 0;
  } else if (cmax === r) {
    hue = ((g - b) / delta) % 6;
  } else if (cmax === g) {
    hue = (b - r) / delta + 2;
  } else {
    hue = (r - g) / delta + 4;
  }
  hue = Math.round(hue * 60);
  if (hue < 0) {
    hue += 360;
  }
  var saturation = Math.round((delta / cmax) * 100);
  var value = Math.round(cmax * 100);
  return "hsv(" + hue + ", " + saturation + "%, " + value + "%)";
}

var hex_code = "ffd500";
var hsv_code = hex_to_hsv(hex_code);
console.log("HSV:", hsv_code);

Java

public static String hexToHsv(String hex) {
    int r = Integer.valueOf(hex.substring(0, 2), 16);
    int g = Integer.valueOf(hex.substring(2, 4), 16);
    int b = Integer.valueOf(hex.substring(4, 6), 16);
    float r_f = r / 255f;
    float g_f = g / 255f;
    float b_f = b / 255f;
    float cmax = Math.max(r_f, Math.max(g_f, b_f));
    float cmin = Math.min(r_f, Math.min(g_f, b_f));
    float delta = cmax - cmin;
    float hue;
    if (delta == 0) {
        hue = 0;
    } else if (cmax == r_f) {
        hue = ((g_f - b_f) / delta) % 6;
    } else if (cmax == g_f) {
        hue = ((b_f - r_f) / delta) + 2;
    } else {
        hue = ((r_f - g_f) / delta) + 4;
    }
    hue = Math.round(hue * 60);
    if (hue < 0) {
        hue += 360;
    }
    int saturation = Math.round(delta / cmax * 100);
    int value = Math.round(cmax * 100);
    return "hsv(" + hue + ", " + saturation + "%, " + value + "%)";
}

String hexCode = "ffd500";
String hsvCode = hexToHsv(hexCode);
System.out.println("HSV: " + hsvCode);

PHP

function hex_to_hsv($hex) {
    $r = hexdec(substr($hex, 0, 2)) / 255;
    $g = hexdec(substr($hex, 2, 2)) / 255;
    $b = hexdec(substr($hex, 4, 2)) / 255;
    $cmax = max($r, $g, $b);
    $cmin = min($r, $g, $b);
    $delta = $cmax - $cmin;
    if ($delta == 0) {
        $hue = 0;
    } else if ($cmax == $r) {
        $hue = fmod(($g - $b) / $delta, 6);
    } else if ($cmax == $g) {
        $hue = (($b - $r) / $delta) + 2;
    } else {
        $hue = (($r - $g) / $delta) + 4;
    }
    $hue = round($hue * 60);
    if ($hue < 0) {
        $hue += 360;
    }
    $saturation = round($delta / $cmax * 100);
    $value = round($cmax * 100);
    return "hsv(" . $hue . ", " . $saturation . "%, " . $value . "%)";
}

$hex_code = "ffd500";
$hsv_code = hex_to_hsv($hex_code);
echo "HSV: " . $hsv_code;

Заключение

Наш конвертер HEX в HSV - надежный инструмент, который позволяет преобразовывать ваши коды цвета HEX в соответствующие коды цвета HSV. Благодаря интуитивному интерфейсу и точному преобразованию цветов, наш инструмент идеально подходит для веб-разработчиков и дизайнеров, которые хотят поддерживать согласованность своей цветовой схемы на разных платформах. Так что чего же вы ждете? Попробуйте его прямо сейчас и оцените все его преимущества!

Часто задаваемые вопросы (FAQ)

Познакомьтесь с нашими дополнительными инструментами