【发布时间】:2015-06-04 11:09:49
【问题描述】:
大家好。我在可滚动面板中打印图像时遇到问题。谁能帮我解决这个问题?
我想先调整图像的大小(这样它可以适合 8.5 x 11" 的纸张),然后在打印预览中显示然后打印
在我的例子中,我有一个带有面板(dock=fill)的表单(form1),我想在其中打印图像(2 个图像)。但是,图像打印的触发器在下一个表单中
在 btnnext(form1) 中 Form2.Show() 我.Hide()
打印代码为form2。我是 vb 的新手,我对打印可滚动面板一无所知。我在其他论坛尝试了不同的代码,但它没有打印整个图像,而只打印了表单的屏幕截图。任何回复将不胜感激。,非常感谢您
Public Class Form2
Private WithEvents pd As New Printing.PrintDocument
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Using bmp As New Bitmap(Form1.pb1.Width, Form1.pb1.Height)
Form1.panel1.DrawToBitmap(bmp, New Rectangle(0, 0, Form1.pb1.Width, Form1.pb1.Height))
e.Graphics.DrawImage(bmp, e.MarginBounds)
End Using
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
PrintDocument1.Print()
End Sub
End Class
- ^它只打印您在屏幕上可以看到的内容。不是整个面板..
【问题讨论】:
-
你在用
panel.DrawToBitmap()吗? -
使用 bmp 作为新位图(Form1.pb1.Width, Form1.pb1.Height) Form1.pb1.DrawToBitmap(bmp, New Rectangle(0, 0, Form1.pb1.Width, Form1.pb1 .Height)) e.Graphics.DrawImage(bmp, e.MarginBounds) End Using(我使用了这个代码并且它正在工作)现在唯一的问题是打印预览......我不知道打印预览......
-
DrawToBitmap总是截取面板的屏幕截图,因此只获取可见的内容。这个问题之前在这里被问过:stackoverflow.com/questions/22056099/… 但是它从来没有得到回答 -
哎呀。我还是有问题。我有 2 张图片,所以使用 form1.pb1.drawtobitmap 将不起作用。我使用了 Form1.panel1.DrawToBitmap 但它只打印您在表单中看到的内容(而不是面板中的整个图像)
-
您始终可以在
PrintPage事件中生成两个不同的图像并将它们打印在不同的页面上
标签: vb.net printing panel scrollable