Das erste ist eigentlich eher Spielerei, da es wahrscheinlich länger dauert das Macro aufzurufen, als einfach den korrekten Hex-Wert zu tippen.
In CSS kann man jedenfalls Farben als 3-wertigen Hex-Wert angeben. Der Interpreter expandiert die Werte, in dem gegebene Wert für die 1er und 16er Stelle verwendet wird. Kurz, aus $ABC wird $AABBCC
Das zweite könnte für die Web-Erfahrenen schon eher interessant sein. Es sorgt dafür, dass der Rot-Wert vorne und der Blau-Wert hinten steht.
D.h. $FF0000 ist endlich rot, wie man es gewohnt ist
Code: Alles auswählen
Macro colorExpand(_in_, _out_)
b = _in_>>8
g = (_in_>>4)%16
r = (_in_)%16
b=b<<4 + b
g=g<<4 + g
r=r<<4 + r
_out_ = b<<16 + g<<8 + r
EndMacro
a = $AB9
colorExpand(a, c)
Debug "colorExpand($"+Hex(a)+"): $"+Hex(c)
Macro colorInvert(_in_, _out_)
b = _in_>>16
g = (_in_>>8)%$100
r = (_in_)%$100
_out_ = r<<16 + g<<8 + b
EndMacro
Debug " "
a = $509CF3
colorInvert(a, c)
Debug "HTML Color: $"+Hex(a)
Debug "Red: $"+Hex(Red(c))
Debug "Grn: $"+Hex(Green(c))
Debug "Blu: $"+Hex(Blue(c))