Pos eso, necesito convertir los colores de RGB a hexadecimal, mas que nada por el tema de que es mas rápido guardar un #ffcc99 que un 245,45,128
Si no se puede po nada
aunque tambien me gustaría trabajar en 8 bits porque son 256 colores y es todavía mas facil... ¿no? alguna pista? una Url a un tuto o algo, la wiki
seleciona el color en photoshop y mira los valores hexadecimales
ja ja ja, no hombre, algun algoritmo de conversión
los vas apuntando y al final te creas una tabla de relacion xD
buf, que trabajoso, chiquillo...
Onde andas? perdío man
-----------------0-------------------
bueno, creo que al final usaré los 8 bits, dejo un .prg tó tosco hecho ajín tó rápido para quien lo necesite tenga una idea de como rula el tema...
(http://forum.bennugd.org/index.php?action=dlattach;topic=4761.0;attach=4155)
Aunque sigo buscando el tema de pasar a hexadecimal porque tiene hasta 16.777.216 combinaciones y eso es muy interesante pero las página web no muestran mas de 216 colores, creo, y mi principal intención va a ser la web, me basta con los 8 bits pero no quiero dejar pasar el algoritmo de conversión
Si tienes un color ARGB con alpha no premultiplicado y con 8 bits por canal (num de 32bits), el algoritmo es:
alpha = (color >> 24) & 0xFF
R = (color >> 16) & 0xFF
G = (color >> 8) & 0xFF
B = color & 0xFF
>> hace una rotación de bits a la derecha, con lo que pones los 8 bits correspondientes a la componente en el byte menos significante. Luego le applicas un and lógico para sacar únicamente esos bits.Tienes un byte en cada componente. La representación hexadecimal de cada componente es lo que estás buscando.
Le dediqué un rato a este problema porque me pareció interesante intentar resolverlo con código BennuGD.
Aunque me quedo algo más complicado de lo que me gustaría, llegué a un punto en el que parece funcionar, así que lo comparto.
https://github.com/TorresBaldi/color-converter
En el main.prg estoy probando con un ejemplo, y el uso quedaría:
// me devuelve "#AF4EA1"
color_converter_rgb2hex(175,78,161);
// cada una de estas funciones me devuelve un componente del color RGB
color_converter_hex2dec("af4ea1", R_COMPONENT); // 175
color_converter_hex2dec("#AF4EA1", G_COMPONENT); // 78
color_converter_hex2dec("aF4ea1", B_COMPONENT); // 161
(R_COMPONENT, G_COMPONENT y b_COMPONENT son opcionales, se podria usar directamente 0, 1 y 2)
Espero te sirva.
gracias a los dos, estoy estudiando los códigos por si tengo que saltar de los 8 bits a... 32? je je