
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

Mar 10, 2026 · 15 min read
.NET NuGet Trusted Publishing with GitHub Actions
Publishing NuGet packages has traditionally required one uncomfortable compromise: a long-lived API key had to exist somewhere in the …

Mar 09, 2026 · 7 min read
C# 15 Unions: Unions are finally in .NET
After many years of workarounds, design discussions and library-level substitutes, unions are finally becoming a first-class part of C#. The …

Mar 02, 2026 · 19 min read
Unio: High-Performance Discriminated Unions for C#
C# is a powerful language, but there is one road it has not yet fully paved: native discriminated union types. Developers have been working …
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.

Comments