Hallo,
ich habe ein kleines Problem. Ich bin dabei einen kleinen Dateiviewer zu schreiben. Soweit funktioniert auch alles nur leider komme ich mit dem Drucken nicht klar. Ich möchte gern die Bilder auf die volle Größe des Blattes gedruckt haben. Also wenn im Drucker A4 ausgewählt ist soll das Bild auf A4 Größe sklaiert werden. Genauso mit A3. Jetzt wird das Bild leider nur so groß gedruckt wie in der PictureBox angezeigt. Zusätzlich habe ich das Problem das bei mehrseiten Tiff Dateien nur die Seite gedruckt wird die in der PictureBox angezeigt wurde.
Hier mal der Code den ich schon habe:
Kann mir jemand von euch sagen wie ich das am besten umsetzen kann.?
Vielen Dank für eure Hilfe.
Gruß
Sebastian
ich habe ein kleines Problem. Ich bin dabei einen kleinen Dateiviewer zu schreiben. Soweit funktioniert auch alles nur leider komme ich mit dem Drucken nicht klar. Ich möchte gern die Bilder auf die volle Größe des Blattes gedruckt haben. Also wenn im Drucker A4 ausgewählt ist soll das Bild auf A4 Größe sklaiert werden. Genauso mit A3. Jetzt wird das Bild leider nur so groß gedruckt wie in der PictureBox angezeigt. Zusätzlich habe ich das Problem das bei mehrseiten Tiff Dateien nur die Seite gedruckt wird die in der PictureBox angezeigt wurde.
Hier mal der Code den ich schon habe:
VB.NET-Quellcode
- Private Sub cmddrucken_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmddrucken.Click
- Dim Setupdlg As New PageSetupDialog
- With Setupdlg
- .PrinterSettings = PrintDocument1.PrinterSettings
- .PageSettings = PrintDocument1.DefaultPageSettings
- PrintDialog1.Document = PrintDocument1
- If .ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
- PrintDocument1.PrinterSettings = .PrinterSettings
- PrintDocument1.DefaultPageSettings = .PageSettings
- PrintDocument1.Print()
- End If
- End With
- End Sub
- Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
- Dim gr As Graphics = e.Graphics
- Dim Image As Image = PictureBox1.Image
- Dim p As New Point(e.MarginBounds.Left, e.MarginBounds.Top)
- Dim r As New Rectangle(p.X, p.Y, Image.Width, Image.Height)
- gr.DrawImage(Image, r)
- gr.Dispose()
- End Sub
Kann mir jemand von euch sagen wie ich das am besten umsetzen kann.?
Vielen Dank für eure Hilfe.
Gruß
Sebastian