Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bild mit transparentem Bereich auf Canvas zeichnen (https://www.delphipraxis.net/65869-bild-mit-transparentem-bereich-auf-canvas-zeichnen.html)

MStoll 21. Mär 2006 16:32


Bild mit transparentem Bereich auf Canvas zeichnen
 
Hi @all.

Also, bevor jmd. meckert, ich hätte mal die Such-Funktion benutzen sollen: Das hab ich. Aber leider hab ich noch keinen brauchbaren Ansatz finden können.

Folgendes: Ich drucke ein Dokument mittels "printer.canvas" aus. Das Koordinatensystem dessen habe ich auf MM_TWIPS umgestellt. Und jetzt möchte ich dadrauf ein transparentes PNG-Bild drucken, wobei die Transparenz erhalten bleiben soll, d.h. wenn ich das Bild beispielsweise auf einen grauen Hintergrund zeichne, dann soll der transparente Bereich eben grau bleiben und nicht durch weiß oder schwarz ersetzt werden. Das Zeichnen sollte ähnlich wie StretchDraw funktionieren und keine Probleme mit dem Koordinatensystem der Drucker-Canvas haben.

Ich habe bisher die BitBlt-Funktion probiert, versucht, es über CopyMode zu machen, nichts hat funktioniert. Aber das kann doch nicht so schwierig sein. Fast jedes Grafikprogramm kann ein transparentes Bild über ein anderes legen.

Vielen Dank für eure Hilfe.

xaromz 21. Mär 2006 16:54

Re: Bild mit transparentem Bereich auf Canvas zeichnen
 
Hallo,

schau Dir mal GDI+ an. Damit kann man transparente PNGs auf jeden Canvas zeichnen. Graphics32 wäre evtl. auch noch was

Gruß
xaromz

Khabarakh 21. Mär 2006 17:01

Re: Bild mit transparentem Bereich auf Canvas zeichnen
 
Oder auch MSDN-Library durchsuchenTransparentBlt.

MStoll 21. Mär 2006 17:17

Re: Bild mit transparentem Bereich auf Canvas zeichnen
 
Vielen Dank an euch.

Das hört sich alles sehr vielversprechend an. Werde es gleich ausprobieren.

Cicaro 22. Mär 2006 13:34

Re: Bild mit transparentem Bereich auf Canvas zeichnen
 
Brush deines Canvases kannst du passend einstellen um transparent zu zeichnen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:08 Uhr.

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