我有一个内存中的Image
,我需要从中获取Stream
来写入OpenXML文档。有人可以指出我正确的方法。
答案 0 :(得分:4)
您可以使用以Save
作为参数的Stream
方法的重载。要创建内存中存在的流,可以使用MemoryStream
类型。这样的事情应该有效:
// Create new memory stream and save the image
var ms = new MemoryStream();
image.Save(ms, ImageFormat.Jpeg);
// Seek to the first byte in the stream, so that other classes who
// use it will start reading from the beginning
ms.Seek(0, SeekOrgin.Begin);
现在,您可以将新创建的流ms
传递给其他对象(例如,将其保存在OpenXML
中)。另见:
答案 1 :(得分:1)
我会解决一些问题:
var ms = new MemoryStream();
image.Save(ms, image.RawFormat); // Save it in the original format of the image
ms.Seek(0, SeekOrigin.Begin); // Fixed typo