通过MemoryStream将Bitmap写入OpenXML ImagePart

Mat*_*obs 6 openxml

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

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

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

如何将此Bitmap转换为OpenXML文档?

Mat*_*obs 14

我几乎就在那里,我只需要在将Bitmap保存到它之后将MemoryStream的位置重置为开头.

ms.Position = 0;
Run Code Online (Sandbox Code Playgroud)

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