Windows编程基础 - 设备对象属性
2008-02-23 05:35:34来源:互联网 阅读 ()
3.1、图像设备接口
在第二章,我们一直在使用图像设备接口(GDI),GDI的主要目标之一是支持在输出设备(例如显示器、打印机)上建立和设备无关的图像输出。Windows的图像大部分是由GDI.EXE(Windows系统的一个模块,称GDI模块)中的函数处理的。GDI模块通过调用在不同设备驱动程式模块中的例程来控制输出设备。例如,显示设备驱动程式用于访问和视频显示器有关的硬件。通过GDI,Windows能够确定驱动程式能够进行什么工作,并且由于应用程式只和GDI打交道。这样,GDI通过将应用程式和不同的输出设备隔离,使应用程式能够在支持Windows的任何图像输出设备上工作。
图像输出设备能够分为两组:光栅设备和矢量设备。光栅设备将图象表示为点(象素)的图案。这类输出设备包括显示设备、点阵打印机和激光打印机。向量设备用线段来绘制图象,例如绘图仪。Windows的GDI是一种隔离了硬件具体特性的图像语言。虽然输出设备用象素来表示图像,但GDI却能够被用作一个高级的向量绘图系统,也能够被用来进行较低级的象素操作。
在编写Windows应用程式时,程式员不必为颜色过分担心,假如在应用程式中使用的一种颜色不能被该显示器所表示,Windows或为应用程式选择一种最直接的纯颜色(显示设备能够表示的颜色),或通过将几种纯颜色相混合来表示这种颜色。当在彩色显示器上研发的程式运行在单色显示器上时,Windows将使用灰度来表示颜色。应用程式也能够在程式中确定输出设备的有关特性,例如,可表示的颜色数目、设备的显示区的尺寸等,以便最大限度地发挥硬件的能力。
3.2、设备对象属性
设备对象具备许多决定GDI函数在设备对象上如何工作的当前属性。例如,在使用函数TextOut()时,只需要在函数中说明设备对象的句柄、绘制字符的起始坐标、文本和文本长度,而不用说明字体、文本颜色、背景颜色和字符间距等,因为这些特征由设备对象的属性决定。每种设备对象都赋有缺省的属性,能够使用GDI函数改变这些属性中的某一个。表3-1给出了显示设备各个属性的缺省值,当使用GetDC()和BeginPaint()等函数初次得到一个显示设备对象时,该对象的属性具备缺省值。
|
|