2017-10-20 88 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