Hallo,
wie kann ich verschiedene Paletten für Bitmaps speichern und dann einzelnen Bitmaps eine bestimmte Palette zuweisen??
Ich dachte es in etwa so:
Delphi-Quellcode:
BitmapP : Array[0..10 ] of Tbitmap;
PaletteArray : Array[0..10] of HPALETTE;
//...
//...
For X := 0 to 10 do
begin
BitmapP[X] := Tbitmap.create;
BitmapP[X].PixelFormat := pf4bit;
BitmapP[X].SetSize(1,1);
PaletteArray[X] := BitmapP[X].Palette;
GetPaletteEntries(PaletteArray[X], 0, 15, farbe);
//Palette manipulieren
//(die Zuweisung der Farben nur hier nur als Beispiel)
for I := 0 to 15 do
begin
farbe[I].peRed := (20 * X) + I;
farbe[I].peGreen := (20 * X) + I;
farbe[I].peBlue := (20 * X) + I;
end;
SetPaletteEntries(PaletteArray[X], 0, 15, farbe);
end;
end;
//...
//...
Bitmap := Tbitmap.create;
Bitmap.PixelFormat := pf4bit;
Bitmap.Palette := PaletteArray[0] // oder 1,2,...
//...
/ :roll: /...
// und später im Programm einfach nur noch
Bitmap.ReleasePalette;
Bitmap.Palette := PaletteArray[5]
Leider funktioniert es so nicht.
LOGPALETTE habe ich auch schon gefunden, aber da kann ich nur einen Farbwert zuweisen.(warum auch immer?!?!?
)
Kann ich aus einer HPalette eine Logpalette erstellen??? (z.B. createLogPalette(HPalette);
LOGMaxPALETTE(oder so ähnlich) geht glaube ich nur mit 256 Farben
Besten Dank für jede Hilfe und jeden Hinweis
Gruß
EarlyBird