Hallo,
Zitat von
Martin K:
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...
Das kann ich Dir sagen:
Der Mensch verwendet die Reihenfolge
RGB. So steht sie vermutlich auch in Deiner Paletten-Datei. Da aber die Speicherverwaltung von PCs etwas anders läuft als beim Menschen, werden die Farben hier so gespeichert (in einem DWORD): ABGR, also Alpha (bzw. Dummy-Byte), Blau, Grün, Rot. Wie Du siehst, ist die Reihenfolge genau anders herum, wie man erwarten würde. Wenn Du Dir den Record TPaletteEntry ansiehst, wirst Du feststellen, dass dort auch die Reihenfolge umgedreht ist.
Gruß
xaromz