Wie man Bilder oder Text ausdrucken oder zunächst in einem Seitenvorchaufenster anzeigen kann, haben wir Ihnen bereits gezeigt. Heute zeigen wir Ihnen, wie sich der Inhalt des Seitenvorschaufensters als Bild abspeichern lässt. Hierzu erstellen wir einfach einen Screenshot des Clientbereichs der Seitenvorschau und speichern diesen als JPG-Datei ab. Erstellen Sie ein neues Projekt, platieren auf die Form einen Button und fügen nachfolgenden Code in den Codeteil der Form ein: Public Class Form1 ' PrintDocument-Objekt Dim WithEvents pDocument As New Printing.PrintDocument ' PrintPreviewDialog Dim WithEvents pDialog As New PrintPreviewDialog Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click With pDialog .Document = pDocument ' Größe des Seitenvorschaufensters auf 800x600 festlegen .Width = 800 .Height = 600 .Top = 0 .Left = 0 ' Vorschau anzeigen .ShowDialog() End With End Sub Private Sub pDocument_PrintPage(ByVal sender As Object, _ ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles pDocument.PrintPage ' Hier den Code für den Ausdruck einfügen ' ... ' Bsp.: Bild ausdrucken Dim oImage As Image = My.Resources.logo ' Rechteck für den Ausdruck festlegen ' Position + Originalgröße Dim p As New Point(e.MarginBounds.Left, e.MarginBounds.Top) Dim r As New Rectangle(p.X, p.Y, oImage.Width, oImage.Height) ' Bild im angegebenen Rechteck drucken gr.DrawImage(oImage, r) gr.Dispose() End Sub Das Erstellen des Screenshots erfolgt im Activated-Ereignis des PrintPreviewDialogs. Private Sub pDialog_Activated(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles pDialog.Activated ' Höhe der Toolbar Dim tbHeight As Integer = 25 With pDialog.RectangleToScreen(pDialog.ClientRectangle) ' neues Bitmap-Objekt erstellen Dim bmp As New Bitmap(.Width, .Height - tbHeight, _ Imaging.PixelFormat.Format24bppRgb) Using g As Graphics = Graphics.FromImage(bmp) ' Inhalt des Vorschaufensters kopieren g.CopyFromScreen(.Left, .Top + tbHeight - 1, 0, 0, _ New Size(.Width, .Height - tbHeight)) End Using ' Bild als JPG-Datei speichern bmp.Save("d:\test.jpg", Drawing.Imaging.ImageFormat.Jpeg) End With End Sub End Class Dieser Tipp wurde bereits 10.321 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |