Danke.
Hab grad was sehr merkwürdiges festgestellt und ich habe keine Ahnung warum das so ist:
Irgendwie müssen die Rot- und Blauwerte vertauscht sein.
Hab einfach mal ein paar Farben eingetragen und in die Palette gespeichert.
Dann mit meinem anderen Programm die Palette angeschaut - und:
Aus blau wurde rot und aus rot wurde blau.
Das Grün hat immer gestimmt, nur eben Rot und blau war immer vertauscht.
Beispiel:
Aus der Farbe
RGB(64,128,255) im Quellcode wurde
RGB(255,128,64) im Programm.
Den Fehler zu beheben ist ja sehr einfach, ich frage mich nur woher er kommt...
Diese beiden Teile müssten ja dafür verantwortlich sein:
Delphi-Quellcode:
//Speichern:
for i := 0
to High(Palette^)
do
begin
lpPal^.palPalEntry[i].peRed := GetRValue(ColorToRGB(Palette^[i]));
lpPal^.palPalEntry[i].peGreen:= GetGValue(ColorToRGB(Palette^[i]));
lpPal^.palPalEntry[i].peBlue := GetBValue(ColorToRGB(Palette^[i]));
end;
//Laden:
for i := 0
to Count-1
do
Palette^[i] :=
RGB(lpPal^.palPalEntry[i].peRed,
lpPal^.palPalEntry[i].peGreen, lpPal^.palPalEntry[i].peBlue);