Pergunta

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.

Foi útil?

Solução

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);
      }
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top