Gross/Kleinschreibung ist bei Bascom (u.a. auch VBasic, QBasic) im Gegensatz zu C egal.
Aber hab das Problem jetzt umgangen; ich hab mir die Funktion umgebaut, so dass ich die Farbe als HTML-Farbcode-String ("FF00FF" für Magenta z.B.) abspeicher und in der Funktion dann zerlege.
Also die Hex-Anteile in 3 Bytes umwandeln, da dann die gleiche Bit-Schieberei wie im ersten Versuch... und siehe da: So klappts.
Code:
Code:
...
'Aufruf:
ColorString = "FFFF00":SetPixelHex
...
Sub SetPixelHex
StrRed = mid(ColorString , 1 , 2)
StrGreen = mid(ColorString , 3 , 2)
StrBlue = mid(ColorString , 5 , 2)
BRed = hexVal(StrRed)
BGreen = hexVAL(StrGreen)
BBlue = hexVAL(StrBlue)
R = BRed AND &B11111000
G1 = BGREEN AND &B11100000
G2 = BGREEN AND &B00011100
B1 = BBLue AND &B11111000
SHIFT G1 , right , 5
SHIFT G2 , left , 3
SHIFT B1 , right , 3
ColorData1 = R OR G1
ColorData2 = B1 OR G2
SendData ColorData1
SendData ColorData2
End Sub
Lesezeichen