2017-10-20 89 views
0

所以我在一个图片框中做了一个绘图。我画的BMP然后使用此代码加载BMP的图片框:VB.net - 打印图片框

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 

,但它只会导致空白打印。另外,当我选择一台纸质打印机时,我只能得到一个空的PDF文件。我一直在寻找一个小时的解决方案,但是我找到的所有东西都会返回到相同的代码中,并且得到相同的结果(空白页,在某些情况下我的程序甚至崩溃)。我想要打印的尺寸是A3横向格式。

+0

我不知道任何渲染位图,所以我的建议是尝试其他文件类型。先找到一些东西,然后试着找出你的照片为什么不显示。例如,你可以打印文本吗? –

+0

当我想要打印文本时,我应该在PrintDocument1中替换e.Graphics.DrawImage(PcbNetwerk.Image,0,0),但是我用什么来设置字符串呢?例如“测试打印此页” –

+0

我不知道,你可以谷歌周围或检查其他问题在这里。你尝试过调试吗?在你的绘画陈述上画一个断点,检查/观察PcbNetwerk.Image的价值等。然后你可以返回有关问题性质的信息 - 也许你的图像没有被正确加载。 –

回答

0

so picturebox1.image导致empy文件。要解决这个问题,我创建的:公共类我的形式

Public Netwerkoverzicht As Image

然后我保存BMP文件我生成我潜艇这种公众形象的一个我做和使用下面的代码,我取代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