How to Convert an Image to Byte Array in C# ?

You can convert an Bitmap image to byte array in C# using the  BinaryReader’s ReadByte method. Here are the steps that you need to follow for the conversion.

– Create an instance of the FileStream and specify the file path along with the File Mode and the File Access.

– Create an instance of the BinaryReader and specify the fileStream instance as parameter for the constructor.

– Read the Byte one by one from the Binary reader and assign it to the Byte Array that you want to return.

Here’s a code snippet demonstrating how you can convert an image to Byte Array in C#.

How to Convert an Image to Byte Array in C# ?

using System;
using System.IO;
namespace DeveloperPublishConsoleApp
{
    class Program
    {
        //Step to convert the image to the Byte Array
        public static byte[] ConvertImageToByteArray(string imagePath)
        {
            byte[] imageByteArray = null;
            FileStream fileStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
            using (BinaryReader reader = new BinaryReader(fileStream))
            {
                imageByteArray = new byte[reader.BaseStream.Length];
                for (int i = 0; i < reader.BaseStream.Length; i++)
                    imageByteArray[i] = reader.ReadByte();
            }
            return imageByteArray;
        }

        static void Main(string[] args)
        {
            // 1. Step to convert the image to the Byte Array
            string imagePath = @"D:\1.bmp";
            byte[] result = ConvertImageToByteArray(imagePath);
           
        }       
    }
}

Leave a Reply