Print Picture Box

Andy666

Member
Joined
Aug 17, 2005
Messages
8
Programming Experience
Beginner
I have got an image in a picture box and i need to print it. Does anyone know how to do this??
 
Print an image

VB.NET:
Expand Collapse Copy
Private [/color][/size][size=2][color=#0000ff]Sub[/color][/size][size=2] PrintDocument1_PrintPage([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As [/color][/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Drawing.Printing.PrintPageEventArgs) [/size][size=2][color=#0000ff]Handles[/color][/size][size=2] PrintDocument1.PrintPage
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] R [/size][size=2][color=#0000ff]As[/color][/size][size=2] Rectangle
 
[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] PWidth, PHeight [/size][size=2][color=#0000ff]As [/color][/size][size=2][color=#0000ff]Integer
 
[/color][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] PictLeft, PictTop [/size][size=2][color=#0000ff]As [/color][/size][size=2][color=#0000ff]Integer
 
[/color][/size][size=2]PWidth = PictureBox1.Width
 
PHeight = PictureBox1.Height
 
[/size][size=2][color=#008000]' The following statements calculate the origin and the dimensions of the
 
[/color][/size][size=2][color=#008000]' rectangle in which the image will be printed, so that the image will be centered on the page
 
[/color][/size][size=2][color=#0000ff]With[/color][/size][size=2] PrintDocument1.DefaultPageSettings.PaperSize
 
[/size][size=2][color=#0000ff]If[/color][/size][size=2] PWidth < .Width [/size][size=2][color=#0000ff]Then
 
[/color][/size][size=2]PictLeft = (.Width - PWidth) / 2
 
[/size][size=2][color=#0000ff]Else
 
[/color][/size][size=2]PictLeft = 0
 
[/size][size=2][color=#0000ff]End [/color][/size][size=2][color=#0000ff]If
 
[/color][/size][size=2][color=#0000ff]If[/color][/size][size=2] PHeight < .Height [/size][size=2][color=#0000ff]Then
 
[/color][/size][size=2]PictTop = (.Height - PHeight) / 2
 
[/size][size=2][color=#0000ff]Else
 
[/color][/size][size=2]PictTop = 0
 
[/size][size=2][color=#0000ff]End [/color][/size][size=2][color=#0000ff]If
 
[/color][/size][size=2][color=#0000ff]End [/color][/size][size=2][color=#0000ff]With
 
[/color][/size][size=2]R = [/size][size=2][color=#0000ff]New[/color][/size][size=2] Rectangle(PictLeft, PictTop, PWidth, PHeight)
 
e.Graphics.DrawImage(PictureBox1.Image, R)
 
[/size][size=2][color=#0000ff]End [/color][/size][size=2][color=#0000ff]Sub

now you can call this to be printed (or call previewDialog if any)
VB.NET:
Expand Collapse Copy
 PrintDocument1.Print()

Regards ;)

Note that it is very simple to print out an image from pictureBox if you avoid setting for it's proper appearing there .... all you need is just one line of code

VB.NET:
Expand Collapse Copy
Private [size=2][color=#0000ff]Sub[/color][/size][size=2] PrintDocument1_PrintPage([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As [/color][/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Drawing.Printing.PrintPageEventArgs) [/size][size=2][color=#0000ff]Handles[/color][/size][size=2] PrintDocument1.PrintPage[/size]
[size=2]e.Graphics.DrawImage(PictureBox1.Image, [color=blue]New[/color] Point(0, 0)) 
[color=blue]End Sub
[/color]
[/size]
 
Back
Top