Why BMP file format last line of image is first line on file?
Here's a quote from Petzold:
  
  
    So, in DIBs, the bottom row of the image is the first row of the file,
    and the top row of the image is the last row in the file. This is
    called a bottom-up organization. Because this organization is
    counterintuitive, you may ask why it's done this way.
    
    Well, it all goes back to the OS/2 Presentation Manager. Someone at
    IBM decided that all coordinate systems in PM—including those for
    windows, graphics, and bitmaps—should be consistent. This provoked a
    debate: Most people, including programmers who have worked with
    full-screen text programming or windowing environments, think in terms
    of vertical coordinates that increase going down the screen. However,
    hardcore computer graphics programmers approach the video display from
    a perspective that originates in the mathematics of analytic geometry.
    This involves a rectangular (or Cartesian) coordinate system where
    increasing vertical coordinates go up in space.
    
    In short, the mathematicians won. Everything in PM was saddled with a
    bottom-left origin, including window coordinates. And that's how DIBs
    came to be this way.
  
  
  Source: Charles Petzold, Programming for Windows 5th Edition, Chapter
  15.


from
https://stackoverflow.com/questions/8346115/why-are-bmps-stored-upside-down