ich versuch mich mal. wie versprochen, es wird haarig. und
ungetestet (fast...)
Delphi-Quellcode:
var
palette: array [0..255] of cardinal;
i: integer;
begin
for i := 0 to 255 do
begin
palette[i] := { wenns umgekehrt sein soll, dann [255-i] }
(((i and $80) shl 0) or ((i and $10) shl 2) or ((i and $04) shl 3)) shl (16) { blau }
or
(((i and $40) shl 1) or ((i and $02) shl 5)) shl (8) { gruen }
or
(((i and $20) shl 2) or ((i and $08) shl 3) or ((i and $01) shl 5)) shl (0); { rot }
end;
end;