
This article was written in 2019. Versions, tools and recommendations may have changed since then. Newer posts are collected under .NET.
This pretty simply snippet exports your Image into a byte-array.
1public static byte[] ToByteArray(this System.Drawing.Image image)
2{
3 using(MemoryStream memoryStream = new MemoryStream())
4 {
5 image.Save(memoryStream);
6 return memoryStream.ToArray();
7 }
8}Usage:
1System.Drawing.Image myImage = .....
2
3byte[] imageAsByteArray = myImage.ToByteArray();Hint: ImageSharp
ImageSharp uses the same signature to export bytes into a MemoryStream
1 SixLabors.ImageSharp.Image myImage = ...
2 using(MemoryStream memoryStream = new MemoryStream())
3 {
4 myImage.Save(outStream);
5 return memoryStream.ToArray();
6 }Related articles

- 16 min read
Production Rate Limiting in ASP.NET Core
Most ASP.NET Core rate-limiting examples stop after registering a fixed window. That is enough to demonstrate the middleware, but it is not …

- 11 min read
The Big Decimal Bugfix with .NET 11
For more than two decades, (decimal)1.23 returned 1.23m. It looked correct, it passed every test and it was a polite lie.

- 10 min read
Distroless, Chiseled or Alpine: Choosing a .NET Base Image
Distroless, Chiseled and Alpine are often compared as three equivalent Linux distributions. They are not. Alpine is a distribution built …
Let's Work Together
Looking for an experienced Platform Architect or Engineer for your next project? Whether it's cloud migration, platform modernization or building new solutions from scratch - I'm here to help you succeed.
