窗户 – 为什么bmps倒置?

为什么BMP图像被颠倒和零填充,因此它们是四字节对齐的?
这是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.

资料来源:Charles Petzold,Windows编程第5版,第15章.

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...