GIFs transparent ausdrucken

31/07/2010 - 11:53 von Helmut Kreß | Report spam
Hallo NG,

möchte eine GIF-Grafik mit transparentem Hintergrund mit VB 60 ausdrucken.
Wenn ich das zu druckende Dokument auf dem Printer-Objekt erzeuge und die
GIF-Grafik mit LOADPicture einlese und positioniere, ist sie nicht
transparent, sondern überdeckt mit ihrem weißen Hintergrund das andere. Für
einen Tipp wàre ich sehr dankbar.

Helmut Kreß
 

Lesen sie die antworten

#1 Schmidt
31/07/2010 - 12:24 | Warnen spam
"Helmut Kreß" schrieb im Newsbeitrag
news:i30rrj$489$02$

möchte eine GIF-Grafik mit transparentem Hintergrund
mit VB 60 ausdrucken.
Wenn ich das zu druckende Dokument auf dem Printer-
Objekt erzeuge und die GIF-Grafik mit LOADPicture
einlese und positioniere, ist sie nicht transparent, sondern
überdeckt mit ihrem weißen Hintergrund das andere. Für
einen Tipp wàre ich sehr dankbar.



Möglicherweise hilft Dir das TransparentBlt(...) GDI-API
an der Stelle weiter - oder Du erledigst sowas "zu Fuß"
über entsprechende BitBlt Masking-Operationen in
mehreren Schritten.
Oder Du kombinierst den Page-Output zuvor in einer
relativ großen "InMemory-Bitmap" (per VB-PictureBox
z.B. - zumindest für den Bereich, in dem Überlappungen
auftreten können) - und blittest diesen zuvor konstruierten
PageBereich dann gegen das Printer-Objekt "am Stück".

Oder Du benutzt Helfer-Bibliotheken, die solche Ressourcen
direkt positionieren können, und dann nicht nur die "On/Off"-
transparenzen aus *.gif-Files unterstützen, sondern auch Alpha-
Channel-Transparenzen aus z.B. *.png-Files (z.B. per
cairo-wrapper dann direktes Erzeugen von PDFs, anstatt
das Printer-Objekt zu benutzen).

Ein paar mehr Hintergrund-Infos wàren nicht schlecht -
hinsichtlich dessen was gezeichnet werden soll ...
Ist das mehr sowas wie die Konstruktion eines "Logos"
in einer bestimmten "Ecke" der Druck-Seite - oder
kann das "sonstwo" auf der Seite auftreten (z.B. wenn
das Gif ein "transparenter Pfeil" ist und mehrfach zur
Anwendung kommen soll, z.B. bei der Konstruktion
von Org-Charts oder sowas)...


Olaf

Ähnliche fragen