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);