Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Conversión de Códigos de Color (https://www.clubdelphi.com/foros/showthread.php?t=96562)

CyberManolo 11-01-2024 14:13:35

Conversión de Códigos de Color
 
Buenos días.

Sé que es posible obtener el código HEX de color de un pixel de una imagen. Mi pregunta es:

¿Existe alguna función que transforme dicho código HEX a código CIE LAB?

Gracias.

pgranados 11-01-2024 20:08:20

Respuesta de ChatGPT


Sí, es posible convertir un código HEX de color a coordenadas CIE LAB en Delphi. Para lograr esto, puedes usar una biblioteca externa que proporcione funciones de conversión de color, ya que Delphi no tiene soporte nativo para la conversión de colores en el espacio CIE LAB.

Una biblioteca comúnmente utilizada para esto es la biblioteca ColorLib. Aquí te dejo un ejemplo de cómo puedes usarla para convertir un código HEX a coordenadas CIE LAB en Delphi:

Descarga y agrega la biblioteca ColorLib a tu proyecto Delphi. Puedes encontrarla en GitHub: https://github.com/danieleteti/delphi-collibri

Asegúrate de agregar las unidades necesarias en tu código:
Código Delphi [-]
uses
  ..., ColorLib, ColorConversion;
var
  hexColor: string;
  rgbColor: TRGB;
  labColor: TLab;
begin
  // Asigna el código HEX de color
  hexColor := '#FF0000'; // Ejemplo: rojo

  // Convierte el código HEX a RGB
  hexToRGB(hexColor, rgbColor);

  // Convierte el RGB a CIE LAB
  RGBToLab(rgbColor, labColor);

  // Ahora, labColor contiene las coordenadas CIE LAB del color
  ShowMessage(Format('CIE LAB: L=%.4f, a=%.4f, b=%.4f', [labColor.L, labColor.A, labColor.B]));
end;

Asegúrate de ajustar el código según tus necesidades y de manejar posibles excepciones o errores que puedan ocurrir durante la conversión. Además, ten en cuenta que este ejemplo asume que has descargado la biblioteca ColorLib y la has agregado correctamente a tu proyecto Delphi.

CyberManolo 12-01-2024 12:40:15

Gracias PGranados
 
Muchas gracias PGranados. El enlace que da ChatGPT no existe.
He encontrado esta otra librería:

https://wiki.lazarus.freepascal.org/mbColorLib

Parece que ahí toca el tema, pero aún no la he investigado.

pgranados 12-01-2024 15:31:27

Busque la librería y encontré:

https://mxs.bergsoft.net/index.php?p=2

Puedes echarle un ojo


La franja horaria es GMT +2. Ahora son las 07:07:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi