expertenaustausch > microsoft.* > microsoft.vb

Helmut Kreß (31.07.2010, 11:53)
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ß
Schmidt (31.07.2010, 12:24)
"Helmut Kreß" <helmut.kress> schrieb im Newsbeitrag
news:9021

> 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
Helmut Kreß (31.07.2010, 12:50)
Hallo Olaf,

konkret möchte ich einen Stempel auf einem Dokument plazieren. Das
Stempelbild habe ich abgescannt und mit GIMP den Hintergrund transparent
gemacht. Um Text usw. sichtbar zu halten, sende ich zuerst mit LoadPicture
das Stempelbild und danach Text und Linien usw.

Die Vorschau meiner Dokumente sende ich in eine PictureBox. Zum Drucken
sende ich das Gleiche wie in die PictureBox in das PrinterObjekt, was
funktioniert. Plaziere ich auf der Vorschau-PictureBox eine ImageBox, sieht
diese Vorschau genauso aus, wie ich es mir vorstelle. Vielleicht gibt es ja
einen Trick, die ImageBox auch an das Printerobjekt zu senden?

Jedenfalls vielen Dank für deine Vorschläge. Werde das alles mal abchecken..

Grüße
Helmut

"Schmidt" <sss> schrieb im Newsbeitrag
news:lu81
[..]
Horst Heinrich Dittgens (11.08.2010, 11:27)
Was spricht denn dagegen, aus beiden Bildern mittels Überlagerung per
PaintPicture-Methode erst mal ein neues additives zu machen und dann dieses
auszugeben?
Ähnliche Themen