Ich habe mal ein bisschen weiter geforscht und dabei unter anderem
das hier gefunden. Danach habe ich folgenden Code probiert, der aber leider nicht funktioniert. Ich bekomme entweder ein komplett schwarzes oder ein komplett weißes Bitmap, während ich maximal ein Negativ (also Schwarz = Weiß und Weiß = Schwarz) erwartet hätte:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
BWPalette : TMaxLogPalette;
begin
BWPalette.palVersion:=$0300;
BWPalette.palNumEntries:=2;
With BWPalette.palPalEntry[0] Do // Schwarz
Begin
peRed:= $00;
peGreen:=$00;
peBlue:= $00;
peFlags:=$00;
End;
With BWPalette.palPalEntry[1] Do // Weiß
Begin
peRed:= $FF;
peGreen:=$FF;
peBlue:= $FF;
peFlags:=$00;
End;
With TBitmap.Create Do
Try
LoadFromFile('Seite_0006.bmp');
Palette:=CreatePalette(PLogPalette(@BWPalette)^);
SaveToFile('Seite_0006_neu.bmp');
Finally
Free;
End;
End;
Was mache ich denn falsch?
Ich dachte, endlich eine einfache und übersichtliche Lösung gefunden zu haben. Warum ist es denn so schwer zum Thema Mainpulation der Farbpalette in Delphi etwas im Netz zu finden?
Gruß, Alex