title: How to convert Bitmap to a Base64 string?
body: <p>I'm trying to capture the screen and then convert it to a Base64 string. This is my code:</p>
  
  <pre><code>Rectangle bounds = Screen.GetBounds(Point.Empty);
  Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height);
  
  using (Graphics g = Graphics.FromImage(bitmap))
  {
     g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
  }
  
  // Convert the image to byte[]
  System.IO.MemoryStream stream = new System.IO.MemoryStream();
  bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
  byte[] imageBytes = stream.ToArray();
  
  // Write the bytes (as a string) to the textbox
  richTextBox1.Text = System.Text.Encoding.UTF8.GetString(imageBytes);
  
  // Convert byte[] to Base64 String
  string base64String = Convert.ToBase64String(imageBytes);
  </code></pre>
  
  <p>Using a richTextBox to debug, it shows: </p>
  
  <blockquote>
    <p>BM6�~</p>
  </blockquote>
  
  <p>So for some reason the bytes aren't correct which causes the base64String to become null. Any idea what I'm doing wrong? Thanks.</p>