【问题标题】:Writing Bitmap to OpenXML ImagePart via MemoryStream通过 MemoryStream 将位图写入 OpenXML ImagePart
【发布时间】:2011-07-21 20:41:51
【问题描述】:

我有一个存储在 Bitmap 对象中的图像,我想将它粘贴到 OpenXML 文档中。我尝试使用 MemoryStream 作为中间步骤,如下所示:

ImagePart part = container.AddNewPart<ImagePart>("image/jpeg", imageId);
using (MemoryStream ms = new MemoryStream())
{
    bitmap.Save(ms, ImageFormat.Jpeg);
    part.FeedData(ms);
}

但这总是会导致媒体文件夹中的文件为空,并且 PowerPoint 会显示错误而不是图像。我知道 MemoryStream 具有正确的图像数据,因为我已将其写入文件而没有问题。当我尝试从 FileStream 加载图像时,它工作得很好。

如何将此位图放入 OpenXML 文档中?

【问题讨论】:

    标签: openxml


    【解决方案1】:

    我快到了,我只需要在将 Bitmap 保存到 MemoryStream 后将其位置重置到开头。

    ms.Position = 0;
    

    应在SaveFeedData 调用之间添加该行。

    【讨论】:

    • 我认为非常重要的提示
    猜你喜欢
    • 1970-01-01
    • 2022-12-17
    • 1970-01-01
    • 2012-11-22
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多