Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Palette eines monochromen TBitmap ändern / "reparieren"

  Alt 9. Dez 2010, 15:01
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
Alex Winzer
  Mit Zitat antworten Zitat