Sunday, 16 November 2008

Funciones de conversion de TColor. RGBToColor y ColorToRGB

Estas funciones son bastante útiles y si manejáis mucho el tema de los colores, estas os podrán ir muy bien:



function RGBToColor(R, G, B: Byte): TColor;
begin
Result := B shl 16 or G shl 8 or R;
end;

//También podemos utilizar
RGB(R,G,B);

procedure ColorToRGB(iColor: TColor; var R, G, B: Byte);
function HexToInt(const Value: string): Integer;
begin
Result := StrToInt('$' + Value);
end;
var
s: string;
begin
//Prueba color = $00719B79
//R = $79 = 122
//G = $9B = 155
//B = $71 = 113
s := inttohex(iColor, 6);
R := HexToInt(AnsiRightStr(s, 2));
G := HexToInt(AnsiLeftStr(AnsiRightStr(s, 4), 2));
B := HexToInt(AnsiLeftStr(s, 2));
end;

//También podemos utilizar:
R := GetRValue(iColor);
G :=
GetGValue(iColor);
B :=
GetBValue(iColor);


function ColorToStr(iColor: TColor): string;
var
R, G, B: Byte;
begin
ColorToRGB(iColor, R, G, B);
result := '$00' + inttohex(B, 2) + inttohex(G, 2) + inttohex(R, 2);
end;



El resultado de estas funciones o métodos, devuelve la descomposición de un color en su RGB y viceversa.

0 comments:

Post a Comment