如何从内存中的图像获取流?

发布于 2024-09-06 13:54:54 字数 89 浏览 6 评论 0原文

我有一个内存中的Image,我需要从中获取一个Stream来写入OpenXML文档。有人可以指出我正确的方法吗?

I have an in-memory Image, I need to get a Stream from it to write into an OpenXML document. Can someone please point me to the correct method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

坏尐絯 2024-09-13 13:54:54

您可以使用以 Stream 作为参数的 Save 方法的重载。要创建存在于内存中的流,您可以使用 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 中)。另请参阅:

You can use an overload of the Save method that takes a Stream as a parameter. To create a stream that exists in-memory, you can use MemoryStream type. Something like this should work:

// 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);

Now you can pass the newly created stream ms to other objects (e.g. to save it in OpenXML). See also:

梦旅人picnic 2024-09-13 13:54:54

我会解决一些问题:

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

I'd fix a few things:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文