' para componer un color (long) desde sus componentes
Public Function MiRGB(byval Rojo as byte,byval Verde as byte, byval Azul as byte) as long
mirgb= (rojo + (verde * 256) + (azul *65536))
end function
' para extraer los componentes de un color:
public type RVA ' iniciales de: Rojo Verde, Azul, que es lo mismo que RGB pero en español
Rojo as byte
Verde as byte
Azul as byte
end type
friend function LongaRGB(byval Color as long) as ColRGB
colrgb.Rojo = color mod 256 ' imagina en decimal 628, cuantas unidades tenemos? hacemos un mod de 2 cifras es decir 628 mod 100=8
colrgb.Azul= color 65536 ' imagina en decimal 628 cuantas centenas tenemos, dividimos (entera) entre 100; 628 100= 6 . Es una división entera, byte y long también son enteros...
colrgb.Verde = (color 256) mod 256 ' imagina como aíslo las decenas en base decimal ?: hay 2 formas según el orden, deshacerse de las unidades, deshacerse de las centenas: 628 10= 62, ahora tomo las unidades que antes eran las centenas 62 mod 10 = 2
end function