Einzelnen Beitrag anzeigen

Cicaro

Registriert seit: 9. Feb 2005
285 Beiträge
 
Delphi 7 Personal
 
#14

Re: Bitmap als Zeiger - Ich versteh es nicht !

  Alt 22. Dez 2005, 11:34
@meisteralex:
Es ist schon richtig gesagt worden: es ist nicht sehr elegant eine Instanz als Rückgabewert einer Funktion zu verwenden.

Erstell doch einfach außerhalb der Funktion/Prozedur alle notwendigen Bitmaps, dann übergib' sie der Funktion/Prozedur als Zeiger.
Delphi-Quellcode:
procedure BmpEncode(Bitmap1,Bitmap2,Bitmap3:TBitmap);
begin
  // macht was mit Bitmap1 und Bitmap2 und legt das Ergebnis in Bitmap3
end;
So sollte es ohne Probleme funktionieren.

Eleganter finde ich diese Prozedur, wenn man ScanLine nicht braucht und stattdessen mit den relativ schnellen API-Funktionen arbeitet:
Delphi-Quellcode:
procedure EncodeDCs(SrcDc1,SrcDC2,DestDC:HDC);
begin
  // macht was mit SrcDC1 und SrcDC2 und legt das Ergebnis in DestDC
end;

// Aufruf:
EncodeDCs(Bitmap1.Canvas.Handle,Bitmap2.Canvas.Handle,Bitmap3.Canvas.Handle);
Sinnvoll bei sprachübergreifender Programmierung.
  Mit Zitat antworten Zitat