1.4.2 DIB访问函数
Windows支持一些重要的DIB访问函数。这些函数都没有被封装到MFC中,所以我们需要参考联机Win32文档中的细节。下面是一些概要介绍。
SetDIBitsToDevice——该函数直接在显示器或打印机上显示DIB。显示时不进行缩放,位图的每一位对应一个显示像素或一个打印点。不能进行缩放限制了它的使用。该函数不能像BitBlt()函数那样使用,因为BitBlt()使用的是逻辑坐标。
StretchDIBits——该函数按照与StretchBlt()函数类似的方式将DIB直接显示在显示器或打印机上。
GetDIBits——该函数利用申请到的内存,由GDI位图来构造DIB。我们可以对DIB的格式进行控制,因为我们可以指定每个像素的颜色位数,并且可以指定是否对它进行压缩。如果使用了压缩格式,就必须对GetDIBits进行两次调用,一次用于计算所需要的内存,另一次用来产生DIB数据。
CreateDIBitmap——该函数从DIB出发来创建GDI位图。与所有这些DIB函数一样,我们必须提供一个设备环境指针作为参数。这里我们需要一个显示器设备环境,不需要内存设备环境。
CreateDIBSection——该函数是一个新的Win32函数,它创建一个特殊的DIB,称为DIB项(DIB Section),然后返回一个GDI位图句柄。该函数为我们提供了DIB和GDI位图最好的特性。我们可以直接访问DIB的内存,而且利用位图句柄和内存设备环境,还可以在DIB中调用GDI函数画图。
【责任编辑:
夏书 TEL:(010)68476606】