I have an image stored in a Bitmap object that I'd like to stick into an OpenXML document. I've tried using a MemoryStream as an intermediate step as follows:
ImagePart part = container.AddNewPart<ImagePart>("image/jpeg", imageId);
using (MemoryStream ms = new MemoryStream())
{
bitmap.Save(ms, ImageFormat.Jpeg);
part.FeedData(ms);
}
but that always results in empty files in the media folder and PowerPoint displaying an error instead of the images. I know that the MemoryStream has the image data correctly as I've written it out to a file without issue. When I try to load an image from a FileStream it works just fine.
How can I get this Bitmap into an OpenXML document?
I was almost there, I just needed to reset the MemoryStream's position to the beginning after saving the Bitmap to it.
ms.Position = 0;
That line should be added between the Save
and FeedData
calls.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With