Einzelnen Beitrag anzeigen

nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

AW: Auf ein Image ein transparentes Image an bestimmter Stelle ablegen

  Alt 27. Nov 2012, 20:19
Hab es anders gemacht und erfüllt den gleichen Zweck.
Ja, vom Prinzip her ist es fast das Selbe. Nur mit dem Unterschied, dass du gleich den Canvas vom TImage direkt "versaust", statt Landkarte und Pfeile in einem "Zwischenpuffer"-Bitmap zusammenzukleben und dann erst in das Image zu kopieren.

Wie aber bekommt man ein Transparenten Pfeil hin?
Hab in der Imagelist gebastelt,aber es geht nicht?
Siehe Abbildung...
Angenommen wir nehmen den Weg über einen Zwischenpuffer, dann versuche mal
Delphi-Quellcode:
// Initialisierung, im (Form)Create zB
BitmapLandkarte := TBitmap.Create;
BitmapPfeil := TBitmap.Create;
BitmapPuffer := TBitmap.Create;
try
  BitmapLandkarte.LoadFromFile(...);
  BitmapPfeil.LoadFromFile(...);
except
  // Fehler
end;

// Bild zusammensetzen
BitmapPuffer.Assign(BitmapLandkarte);
TransparentBlt(BitmapPuffer.Handle, PfeilX, PfeilY, PfeilBreite, PfeilHöhe, BitmapPfeil.Handle, 0, 0, PfeilBreite, PfeilHöhe, RGB($FF, $FF, $FF)); // RGB FF FF FF = Weiss
Image.Assign(BitmapPuffer);

// Am Ende freigeben (im Destroy)
FreeAndNil(BitmapLandkarte);
FreeAndNil(BitmapPfeil);
FreeAndNil(BitmapPuffer);
  Mit Zitat antworten Zitat