Question

Can someone please tell me about how to convert a thresholded image stored in a 'Bitmap' variable into a byte array and view the byte array in a text box or a text file, in C#?

Can someone please help me with the code to it?

i have threshoded the image using Aforge.net - link. And trying to view the byte array of it in 1s and 0s.

Thank you.

Was it helpful?

Solution

If your image is Bitmap you can use

LockBits and then Scan0 methods:

http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=EN-US&k=k(System.Drawing.Imaging.BitmapData);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);k(DevLang-csharp)&rd=true

  public static Byte[] BmpToArray(Bitmap value) {
      BitmapData data = value.LockBits(new Rectangle(0, 0, value.Width, value.Height),   ImageLockMode.ReadOnly, value.PixelFormat);

      try {
        IntPtr ptr = data.Scan0;
        int bytes = Math.Abs(data.Stride) * value.Height;
        byte[] rgbValues = new byte[bytes];
        Marshal.Copy(ptr, rgbValues, 0, bytes);

        return rgbValues;
      }
      finally {
        value.UnlockBits(data);
      }
    }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top