我正在为打印账单编写应用程序。我在加载数据中有一个表单。我想自动打印,所以按照这个顺序我保存了我填充表单的bmp图像,然后存储到mdf数据库中,以便后期打印每一行/单元格(在这种情况下为图像)。但是,当我将我的表格拖到预览表格中时(如果我正确存储数据,只是为了chek),每行的ID都出现了,但我看不到该行的图像...问题是:什么我在这里做错了吗? (过去3天我观看了很多教程,但我还不知道该怎么办)
Public Sub toBitMap()
'Define un nuevo bitmap con las dimensiones del form
Dim miBitMap As New Bitmap(imprimir.Width, imprimir.Height)
' Dibuja la imagen del form en un objetoBitmap
imprimir.DrawToBitmap(miBitMap, New Rectangle(0, 0, imprimir.Width, imprimir.Height))
Dim memoryStreamBuffer = New MemoryStream()
miBitMap.Save(memoryStreamBuffer, ImageFormat.Bmp)
Dim data As Byte() = memoryStreamBuffer.GetBuffer()
Dim saveImage As imagenesTableAdapter = New imagenesTableAdapter
Dim a As String = saveImage.insertImagen(data)
If multiple.iteraciones <= 0 Then
cantidad = saveImage.ScalarQuery()
End If
End Sub
答案 0 :(得分:0)
感谢@Der Golem和@Lars Tech(Plutonix)给出了很好的答案。我以这种方式实现了目标的一半:
Public Sub toBitMap(ByVal indice)
'Define un nuevo bitmap con las dimensiones del form
Dim miBitMap As New Bitmap(imprimir.Width, imprimir.Height)
' Dibuja la imagen del form en un objetoBitmap
imprimir.DrawToBitmap(miBitMap, New Rectangle(0, 0, imprimir.Width, imprimir.Height))
'definicion de nombre y path para archivos temporales
Dim tempImageName As String = "tmp" & indice & ".png"
Dim tmpImageAbsolutePath As String = Application.StartupPath & _
"\data\" & tempImageName
'Creacion de nuevo png
miBitMap.Save(tmpImageAbsolutePath, ImageFormat.Png)
'Carga de paths a la base
Dim saveImage As imagenesTableAdapter = New imagenesTableAdapter
Dim a As String = saveImage.Insert(tempImageName)
If indice <= 1 Then
cantidad = saveImage.ScalarQuery()
End If
End Sub
现在我只清理tmp文件夹和db。
**只需要知道如何将这些文件(图片)打印成pdf进行打印,但我有谷歌! :d