1.4.1 调色板
调色板是一种GDI对象,是颜色映射接口,用来将颜色映射到显示器或打印机,它允许应用程序在不干扰其他应用程序的前提下,可以充分利用输出设备的颜色描绘能力。
当需要在屏幕或打印机上显示一个DIB时,系统需要根据DIB的颜色表生成调色板。假定我们在一个窗口里只显示一个DIB。首先,我们需要创建一个“逻辑调色板”,逻辑调色板是包含了DIB中颜色的GDI对象。然后我们必须“实现”(realize)这个调色板,使它进入硬件的“系统调色板”,系统调色板是显示卡同时能显示256种颜色的颜色表。如果一个程序是一个前台程序,则“实现”处理过程会尽量把所有的颜色拷贝到系统调色板中,它不会改变20种标准Windows颜色,但它会使我们的DIB在最大程度上接近于我们所需要的那样。
在1.4.3节DIB的显示(OnDraw()函数)中,我们为打开的DIB创建了逻辑调色板,并选入设备环境中,DIB得以正常显示。
Windows调色板编程(www.cppentry.com)非常复杂,且只有当用户在8-bpp(每像素8位)模式下运行程序时才需要处理调色板,本书对于调色板的编程(www.cppentry.com)不作深入探讨,感兴趣的读者可以查阅相关书籍。
【责任编辑:
夏书 TEL:(010)68476606】