WPF如何从SQL读已存的图片?

WPF如何从SQL读已存的图片?,第1张

wpf不太懂 不过相应的文件流的控制应该都有吧 我也用delphi实现过读取数据库中图片的功能 用得就是文件流

不过根据个人经验 楼主最好还是在数据库中存放图片保存路径 然后直接按照地址来读取 如果一直保存图片的话 日后数据库会越来越庞大 只存路径对数据库的维护不会造成很大负担

,原来的程序是用winform写的 同样的socket函数 获取到同样的二进制流,winform中直接使用 System.Drawing.Image img = System.Drawing.Image.FromStream(info.MemoryStream)然后将img对象给到 pictureBox1.Image = img在wpf中 图片控件有所改变 使用的是 Image 对象 对应的图片属性是 Source 类型是 System.Windows.Media.ImageSource 找了一些转换方法 其中一个方法是: BitmapImage image = new BitmapImage()image.BeginInit()image.StreamSource = info.MemoryStreamimage.EndInit()转换无效 异常是:无法对此图像进行解码。该图像头可能已损坏。我分析了一下 过来的二进制流式jpeg格式的,而 BitmapImage 字面意思应该是位图图像,所以转换失败。。后来在 System.Windows.Media.Imaging 下找到了 一个 JpegBitmapDecoder 使用方法: BitmapDecoder decoder = JpegBitmapDecoder.Create(info.MemoryStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)image1.Source = decoder.Frames[0]同样无效。。图片还没没有出来但是二进制流肯定是对了 我使用了 System.Drawing.Image img = System.Drawing.Image.FromStream(info.MemoryStream)img.Save("i:\\pic\\" + DateTime.Now.Ticks + "_.jpg")保存到磁盘 图片显示正常。高手帮忙啊!!!!先谢过了!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/6768317.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存