0

我已经通过winddk生成了bitmap.dll。

手动添加为选择打印到文件驱动程序的打印机驱动程序。

使用它,我使用文件中的打印命令创建我的文档图像。

我能够创建图像并查看它,但问题是我得到了倒置(镜像)图像。

cScans = pOemPDEV->bmInfoHeader.biHeight;
// Flip the biHeight member so that it denotes top-down bitmap 
pOemPDEV->bmInfoHeader.biHeight = cScans * -1;

有没有人解决这个代码?当我评论(以正确生成标题)这些行时,我遇到了问题。

4

1 回答 1

2

设备独立位图被记录为在内存中布局,底线位于缓冲区的开头。它是在开发 Windows 3 的同时与 Microsoft 合作的 OS/2 的设计者所进行的笛卡尔坐标实验。

有两种可能的修复方法:

  1. 颠倒生成缓冲区。
  2. 许多采用 BITMAPINFO 的 Windows API 将负的 biHeight 值视为自上而下的 DIB。
于 2011-01-12T13:08:40.940 回答