【发布时间】:2019-12-04 09:08:22
【问题描述】:
我每分钟将图像写入 SQL Server 数据库,然后我每分钟通过客户端应用程序读取这些图像。
这是我如何将图像放入数据库的代码:
PictureBox1.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp)
arrimage = mstream.GetBuffer()
drNowyWiersz3 = m_tabeladanych3.NewRow()
drNowyWiersz3("Id") = k
drNowyWiersz3("bitmap") = arrimage
m_tabeladanych3.Rows.Add(drNowyWiersz3)
drNowyWiersz3 = Nothing
drNowyWiersz3 是数据表的新行。
m_tabeladanych3 是数据表。
我有 6 张这样的图片(每张大约 8kb)。拍摄这些图像有时需要 1 分钟 (!),尤其是当我通过 Wi-Fi 连接时,它会导致应用程序错误。
当图像格式为.jpeg但图像模糊时情况会好得多。
如何改进流程?
编辑:
这是我用来读取图像的代码,也许这是问题所在?
Dim lb2() As Byte = m_tabeladanych3.Rows(1)("bitmap")
Dim lstr2 As New System.IO.MemoryStream(lb2)
PictureBox2.Image = Image.FromStream(lstr2)
lstr2.Close()
【问题讨论】:
-
考虑使用
arrimage = mstream.ToArray()而不是arrimage = mstream.GetBuffer()。这样,您只存储图像数据,而不是包含未使用字节的整个缓冲区。 -
我会尝试在我的代码中更改它。谢谢。
标签: sql-server vb.net image