Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Auf ein Image ein transparentes Image an bestimmter Stelle ablegen (https://www.delphipraxis.net/171783-auf-ein-image-ein-transparentes-image-bestimmter-stelle-ablegen.html)

stahli 27. Nov 2012 18:37

AW: Auf ein Image ein transparentes Image an bestimmter Stelle ablegen
 
Nur mal so als Idee:

Man kann ja für die Pfeile eigene Image-Instanzen erzeugen und über ein vorhandenes Image legen. Dann ließen die sich auch nachträglich noch verschieben.

VIELLEICHT lässt sich zum Schluss über das Ganze dann eine GraphicBox legen und der Inhalt in ein Bild kopieren.
Ich bin nicht sicher, aber versuchen könnte man es.

Alternativ kann man (etwas mühsamer) die Bilddaten in ein Bitmap kopieren und bei den Pfeilen die transparenten Bitmaps aus lassen.

So würde man zumindest nicht hart ein Originalbild ändern.

blondervolker 27. Nov 2012 18:41

AW: Auf ein Image ein transparentes Image an bestimmter Stelle ablegen
 
Ich versuch es mal.Mal sehen ob es klappt.

Ersteinmal Danke für die Vorschläge.:thumb:

nuclearping 27. Nov 2012 19:19

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

Zitat von blondervolker (Beitrag 1193264)
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. :mrgreen:

Zitat:

Zitat von blondervolker (Beitrag 1193264)
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);

Blup 28. Nov 2012 08:48

AW: Auf ein Image ein transparentes Image an bestimmter Stelle ablegen
 
Normalerweise sollte das schon reichen:
Delphi-Quellcode:
begin
  ImageList1.Draw(Image.Canvas, X, Y, 0);
end;
Das er sich damit das Orginalbild versaut ist eine ganz andere Frage...

blondervolker 28. Nov 2012 09:44

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

das funktioniert auch nicht.Das sieht immer noch so aus wie vorher.:?

DeddyH 28. Nov 2012 09:47

AW: Auf ein Image ein transparentes Image an bestimmter Stelle ablegen
 
Hast Du es auch schon mit der Maske versucht? Das sieht zwar je nach Form nicht allzu hübsch aus, sollte aber im Wesentlichen funktionieren.

blondervolker 28. Nov 2012 09:49

AW: Auf ein Image ein transparentes Image an bestimmter Stelle ablegen
 
Hab ich kein plan wie das geht...:oops:

DeddyH 28. Nov 2012 09:52

AW: Auf ein Image ein transparentes Image an bestimmter Stelle ablegen
 
Das wird doch auf der von mir verlinkten Seite genau erklärt, ganz unten gibt es sogar ein Demoprojekt zum Download *koppschüttel*

blondervolker 28. Nov 2012 09:55

AW: Auf ein Image ein transparentes Image an bestimmter Stelle ablegen
 
Das guck ich mir gerade an.:-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz