title: How does C# write bitmap data. is it bottom up or top down?
body: <p>According to <a href="http://en.wikipedia.org/wiki/BMP_file_format" rel="nofollow">Wikipedia</a> :</p>
  
  <blockquote>
    <p>The pixel array is a block of 32-bit DWORDs, that describes the image
    pixel by pixel. Normally pixels are stored "upside-down" with respect
    to normal image raster scan order, starting in the lower left corner,
    going from left to right, and then row by row from the bottom to the
    top of the image.<a href="http://en.wikipedia.org/wiki/BMP_file_format" rel="nofollow">1</a>  Uncompressed Windows bitmaps also can be stored
    from the top to bottom, when the Image Height value is negative.</p>
  </blockquote>
  
  <p>So, when I use this code: </p>
  
  <pre><code>b.Save(outputFilename, ImageFormat.Bmp);
  </code></pre>
  
  <p>How does C# actually save it ? Can I tell C# to save it with height value negative and write it in top down manner ?</p>