Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
270 views
in Technique[技术] by (71.8m points)

c# - Converting a thresholded image into a byte array?

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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);
      }
    }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...