VB2005 将PictureBox绘制的图形打印
VB2005 如何将PictureBox绘制的图形打印
PictureBox1是图纸(图片),PictureBox2是将图纸展开并绘制的图形,是在 Private Sub
PictureBox2_Paint中绘制的,其图形见下图:
打印代码如下:
Dim PrintDialog = New PrintDialog
Dim PrintDocument = New PrintDocument
Dim PageSetupDialog = New PageSetupDialog
PrintDialog.PrinterSettings.Collate = True
Dim Bitmap = New Bitmap(PictureBox2.ClientSize.Width, PictureBox2.ClientSize.Height)
Dim rect As Rectangle
rect = New System.Drawing.Rectangle(0, 0, PictureBox2.Width, PictureBox2.Height)
PictureBox2.DrawToBitmap(Bitmap, rect)
Bitmap.Save( my.gif , Imaging.ImageFormat.Gif)
PictureBox2.Load( my.gif )
PrintDialog.Picturebox2.PrintDialog()
PrintDialog.ShowDialog()
PrintDocument.Print()
问题出在这句“PrintDialog.Picturebox2.PrintDialog() ”,调试时提示:“未找到类型“PrintDialog”的公共成员“Picturebox2””。如果把这句去掉,打印是一张白纸。
请高手指点。谢谢~~~
------最佳解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
--------------------------------------------------------
1、我自己用这样的方法打印成功
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim open As OpenFileDialog = New OpenFileDialog
open.Filter = (*.bmp)
------其他解决方案--------------------------------------------------------
Private Sub button1_Click(sender As Object, e As EventArgs)
'执行打印
Dim MyPrintDg As New PrintDialog()
MyPrintDg.Document = printDocument1
If MyPrintDg.ShowDialog() = DialogResult.OK Then
Try
printDocument1.Print()
Catch
'停止打印
printDocument1.PrintController.OnEndPrint(printDocument1, New System.Drawing.Printing.PrintEventArgs())
End Try
End If
End Sub
'设置printDocument控件的PrintPage事件:
Private Sub printDocument1_PrintPage(sender As Object, e As System.Drawing.Printing.PrintPageEventArgs)
e.Graphics.DrawImage(pictureBox2.Image, 20, 20)
End Sub
------其他解决方案--------------------------------------------------------
谢谢楼上~
不过还是一张白纸。问题出在哪里,
------其他解决方案--------------------------------------------------------
sosoben您好~是不是e.Graphics.DrawImage(PictureBox2.Image, 20, 20)不完整,
另外,
Private Sub PrintDocument1_PrintPage_1(ByVal sender As System.Object, ByVal e
As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage