
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

- 11 min read
Containerizing .NET in 2026 Without a Dockerfile
Most .NET Dockerfiles repeat the same five steps: restore, publish, select the matching Microsoft runtime image, copy the output and start …

- 12 min read
Problem Details in ASP.NET Core and .NET 11
builder.Services.AddProblemDetails() registers infrastructure. It does not create an error contract. An ASP.NET Core request can fail during …

- 11 min read
Resilience in .NET with Microsoft.Extensions.Resilience
Retries are the most visible resilience strategy and the easiest one to misuse. Repeating a failing call can recover from a short network …
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.
