VB.net - 打印图片框

VB.net - printing picture box

所以我在图片框中画了一幅画。我绘制了一个 BMP,然后使用以下代码将 BMP 加载到图片框中:

   PcbNetwerk.BackgroundImage = bmpNO

然后我尝试使用以下代码进行打印:

Dim WithEvents PrintDoc As New PrintDocument()

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDoc.PrintPage

    e.Graphics.DrawImage(PcbNetwerk.Image, 0, 0)

End Sub

Private Sub BtnPrintNetwerk_Click(sender As Object, e As EventArgs) Handles BtnPrintNetwerk.Click

    If PrintDialog1.ShowDialog = DialogResult.OK Then
        PrintDocument1.Print()
    End If

End Sub

但这只会导致空白打印。此外,当我 select 一台纸质打印机时,我最终只得到一个空的 PDF 文件。几个小时以来,我一直在寻找解决方案,但我发现的所有内容都会返回相同类型的代码,并且我得到相同的结果(空白页,在某些情况下我的程序甚至崩溃)。我要打印的尺寸是 A3 横向格式。

所以 picturebox1.image 生成了一个空文件。为了解决我创建的这个问题:

Public Netwerkoverzicht As Image

在我的表格 public class 中。

然后我将我在其中一个潜艇中生成的 bmp 文件保存到此图像 public 我制作并使用了以下代码,其中我将 PcbNetwerk.image 替换为 Netwerkwerkoverzicht

Dim WithEvents PrintDoc As New PrintDocument() 

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDoc.PrintPage

e.Graphics.DrawImage(Netwerkoverzicht, 0, 0)

End Sub