Artículo Original: FUNCTION TO CONVERT COLORS
https://vfpimaging.blogspot.com/2006/11/function-to-convert-colors_7736.html
Autor: Cesar Ch.
Traducido por: Luis María Guayan
La breve función de abajo convierte cualquier color a su versión más oscura o más brillante, tal como el original ColorPicker SlideBar.
Parámetros:
RGB - Valor original de RGB para convertir
tnLevel - Rango de -100 a 100.
Cero = Ningún cambio; 100 = Blanco; -100 = Negro;
los valores positivos devolverán imágenes mas
brillantes, mientras los valores negativos
devolveran imagenes mas oscuras.
LPARAMETERS tnRGB, tnLevel
IF tnLevel = 0
RETURN tnRGB
ENDIF
tnLevel = tnLevel / 100
LOCAL lnRed, lnGreen, lnBlue
lnRed = BITAND(tnRGB, 0x000000FF)
lnGreen = BITRSHIFT(BITAND(tnRGB, 0x0000FF00), 8)
lnBlue = BITRSHIFT(BITAND(tnRGB, 0x00FF0000), 16)
IF tnLevel > 0
RETURN RGB( ;
lnRed + ((255 - lnRed) * tnLevel) , ;
lnGreen + ((255 - lnGreen) * tnLevel) , ;
lnBlue + ((255 - lnBlue) * tnLevel) )
ELSE
RETURN RGB( ;
lnRed + (lnRed * tnLevel) , ;
lnGreen + (lnGreen * tnLevel) , ;
lnBlue + (lnBlue * tnLevel) )
ENDIF
Para entender mejor como trabaja esto, puede descargar el archivo adjunto, que contiene un ejemplo simple. Haga Click en el botón "Select Color" para escoger un color y jugar con Spinner para ver los colores más oscuros y más brillantes que resultan.

Descarga: changingcolors.zip 2,37 KB
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.