在vb.net中将打印文档或打印预览另存为图像

在vb.net中将打印文档或打印预览另存为图像,vb.net,image,vb.net-2010,printdocument,Vb.net,Image,Vb.net 2010,Printdocument,我想将打印预览保存到vb.net中的图像文件中。 到目前为止,我的应用程序使用用户提供的文本生成打印预览并打印,但我想将打印的图像保存到我的计算机上。 我已经在谷歌上搜索了很多答案,比如 但不知怎么的,这对我不起作用。任何帮助都将不胜感激 我当前的代码: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.

我想将打印预览保存到vb.net中的图像文件中。 到目前为止,我的应用程序使用用户提供的文本生成打印预览并打印,但我想将打印的图像保存到我的计算机上。 我已经在谷歌上搜索了很多答案,比如

但不知怎么的,这对我不起作用。任何帮助都将不胜感激

我当前的代码:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    PrintDocument1.Print()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        PrintPreviewDialog1.ShowDialog()
End Sub

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    Dim fornt1 As New Font("Arial", 16, FontStyle.Regular)
    Dim rect As Rectangle = New Rectangle(New Point(0, 0), PictureBox1.Image.Size)
    e.Graphics.DrawImage(PictureBox1.Image, rect) 'Draw Image
    e.Graphics.DrawString(RichTextBox1.Text, fornt1, Brushes.LightBlue, 500, 500)
End Sub
End Class
我解决了你的问题

以下是您的表单的外观:

代码如下:

Public Class Form1
Dim BMP As New Drawing.Bitmap(322, 332)
Dim Graph As Graphics = Graphics.FromImage(BMP)

Private Sub PrintBUT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintBUT.Click
    Graph.FillRectangle(Brushes.White, 0, 0, PictureBox1.Width, PictureBox1.Height)
    Graph.DrawString(RichTextBox1.Text, RichTextBox1.Font, Brushes.Black, 5, 5)
    PictureBox1.Image = BMP
End Sub

Private Sub SaveBUT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveBUT.Click
    Dim saveFileDialog1 As New SaveFileDialog()
    saveFileDialog1.Filter = "jpg files (*.jpg)|*.jpg|All files (*.*)|*.*"
    Try
        saveFileDialog1.Filter = "JPEG |*.jpeg"
        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            PictureBox1.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)
        End If
    Catch ex As Exception
    End Try
End Sub
End Class
我希望这段代码对您有用。:)