【问题标题】:C# How to save image from an OLE Object stored in a DatabaseC# 如何从存储在数据库中的 OLE 对象中保存图像
【发布时间】:2011-07-14 15:24:37
【问题描述】:

当它作为 OLE 对象嵌入到访问数据库中时,标题字节似乎与图像一起存储,并且它们阻止我将存储的字节写入磁盘,因为它引发异常“GDI+ 中发生一般错误” .'

如何从存储在 access 数据库中的 OLE 对象中仅提取图像字节,然后保存到磁盘?

photo = ((rs.Fields["photo"].Value == System.DBNull.Value) ? 
    null : (byte[])rs.Fields["photo"].Value)

...

if (photo != null)
{
    MemoryStream stream = new MemoryStream(photo);
    Image image = new Bitmap(stream);
    stream.Close();

    image.Save(@"C:\Temp\images\test", ImageFormat.Jpeg);
 }

【问题讨论】:

    标签: c# image ms-access


    【解决方案1】:
    using (MemoryStream stream = new MemoryStream(photo))
    using (Image image = Image.FromStream(stream))
    {
        image.Save(@"C:\Temp\images\test.jpg", ImageFormat.Jpeg);
    }
    

    【讨论】:

    • @Nicholas Murray 和 using 正确处理 IDisposable 资源,例如流和 GDI 对象(例如图像)。
    猜你喜欢
    • 2019-07-26
    • 2019-05-07
    • 2012-06-14
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 2016-10-11
    • 2015-08-13
    相关资源
    最近更新 更多