HEX a HSV

Entrada HEX
Ejemplo
Salida HSV

Convertidor de HEX a HSV: una herramienta gratuita y confiable en línea

Si estás buscando una herramienta gratuita y eficiente para convertir códigos de color HEX a sus correspondientes códigos de color HSV, has llegado al lugar correcto. Nuestro convertidor de HEX a HSV es una herramienta en línea diseñada para proporcionar una conversión precisa de colores para tus necesidades de diseño web.

Propósito y escenario

Como diseñador web, necesitas mantener consistencia en la paleta de colores de tu sitio web en diferentes plataformas. Si bien los códigos de color HEX se usan comúnmente en el diseño web, es necesario convertirlos a códigos de color HSV para funciones específicas. Nuestro convertidor de HEX a HSV es una herramienta útil para desarrolladores web que necesitan convertir sus códigos de color HEX a códigos de color HSV.

Beneficios y ventajas

Nuestro convertidor de HEX a HSV tiene varios beneficios y ventajas que lo convierten en una herramienta valiosa para desarrolladores web:

  • En línea y gratuita: Nuestra herramienta es 100% en línea y gratuita, y no necesitas descargar ningún software ni instalar dependencias para usarla.
  • Interfaz fácil de usar: Nuestra herramienta tiene una interfaz intuitiva y fácil de usar, donde puedes ingresar o pegar tus códigos de color HEX fácilmente, convertir y copiar o utilizar colores de muestra.
  • Seguridad de datos: Nuestra herramienta se ejecuta localmente en tu computadora, lo que garantiza la seguridad de tus datos.

Algoritmo/lógica principal

El algoritmo o lógica principal para convertir de HEX a HSV se basa en el modelo de color RGB. El modelo de color RGB combina luz roja, verde y azul para crear una amplia gama de colores. Para convertir de RGB a HSV, primero necesitamos convertir de RGB a HSL (tono, saturación, luminosidad) y luego convertir de HSL a HSV. La fórmula de conversión es la siguiente:

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)

Cómo utilizar la herramienta

Utilizar nuestro convertidor de HEX a HSV es sencillo. Sigue estos simples pasos:

  1. Ingresa o pega tu código de color HEX en el cuadro de entrada provisto, como este: #ffd500.
  2. Haz clic en el botón "Convertir" para convertir tu código de color HEX a su correspondiente código de color HSV.
  3. Luego puedes copiar el código de color HSV o hacer clic en el botón "Copiar" para copiarlo en tu portapapeles.

Ejemplos en Python, C, JavaScript, Java y PHP

Si eres desarrollador, puedes utilizar nuestro convertidor de HEX a HSV en tu aplicación incorporando el siguiente código en cualquiera de los lenguajes de programación mencionados:

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;

Conclusión

Nuestro convertidor de HEX a HSV es una herramienta confiable que te permite convertir tus códigos de color HEX a sus correspondientes códigos de color HSV. Con su interfaz intuitiva y conversión de color precisa, nuestra herramienta es perfecta para desarrolladores web y diseñadores que buscan mantener consistencia en su esquema de colores en diferentes plataformas. Entonces, ¿qué esperas? ¡Pruébalo ahora y experimenta sus beneficios tú mismo/a!

Preguntas frecuentes (FAQ)

Conoce nuestras herramientas adicionales