【发布时间】:2009-05-21 13:24:54
【问题描述】:
OLE 对象列包含图像,但图像类型 (jpg/gif/tiff) 未知。这些图像需要从数据库中提取并保存到磁盘。该应用程序主要使用 VB.NET,但也欢迎使用 C# 示例。
谢谢 拉胡尔
【问题讨论】:
OLE 对象列包含图像,但图像类型 (jpg/gif/tiff) 未知。这些图像需要从数据库中提取并保存到磁盘。该应用程序主要使用 VB.NET,但也欢迎使用 C# 示例。
谢谢 拉胡尔
【问题讨论】:
尝试使用System.Drawing.Image.FromStream 加载图像。您可以使用System.IO.MemoryStream foo = new System.IO.MemoryStream(MyByteArray);从字节数组创建流
一旦你加载了图像,你可以使用任何你想保存的 GDI 东西(例如ImageInstance.Save(FileName);)
【讨论】:
创建一个足以容纳 OLE 对象的字节数组:
Dim bArr(Len(<OLE Object Field>)) as Byte
读取 OLE 对象列的第一行并将其放入字节数组中。
对于 GIF 文件,字节 0 到 2 将具有 ASCII 值“GIF”。 对于 JPEG 文件,字节 6 到 9 通常具有值“JFIF”。 对于 PNG 文件,字节 1 到 3 将具有 ASCII 值“PNG”。
TIFF 比较困难,因为有很多不同的 TIFF 标准。
确定文件类型后,就可以使用Brian的方法保存文件了
【讨论】: