// Wenn man in einem Delphi-Programm eine Bitmap manipuliert (speziell
//
das Pixelformat) und das Bild anschließend speichert, dann kann es
// anschließend von dem Programm auch ohne Probleme wieder geladen werden.
// Nicht so von verschiedenen anderen Bildbearbeitungsprogrammen oder von
// Programmen auf anderen Rechnern.

Original bearbeitet, gespeichert
 und wieder geladen
gleiches Bild mit
Photopaint geladen

// Der Effekt ist in der Regel abhängig von der Einstellung der Grafikkarte des
// jeweiligen Copmputers und dem
Bitmapinfoheader der Bitmap. Deshalb kann man
// beim Speichern zu einem kleinen Trick greifen:


// Getestet mit D4 unter XP

procedure speichere(bm: TBitmap; datei: string); 
var 
  b: TBitmap; 
begin 
  b := TBitmap.create; 
  b.handle := createcompatiblebitmap(GetDC(0), bm.width, bm.height); 
  b.canvas.draw(0, 0, bm); 
  b.savetofile(datei); 
  b.free; 
end; 
 
// zum Beispiel

procedure TForm1.Button7Click(Sender: TObject); 
begin 
  // Image1.Picture.Bitmap  wird manipuliert 
  // ... 
  speichere(Image1.Picture.Bitmap, 'c:\test.bmp'); 
  // ... 
end;




 

Zugriffe seit 6.9.2001 auf Delphi-Ecke