图形基础(二十)

2010-12-30 21:10:52 · 作者: · 浏览: 40662
组合为一个无正负号长整数:

注意三个参数的顺序是红、绿和蓝。因此,值:

是0x0000FFFF,或黄色(红色和绿色的合成)。当所有三个参数设定为0时,色彩为黑色;当所有参数设定为255时,色彩为白色。GetRValue、GetGValue和GetBValue巨集从COLORREF值中抽取出原色值。当您在使用传回RGB色彩值的Windows函式时,这些巨集有时会很方便。

在16色或256色显示卡上,Windows可以使用「混色」来类比设备能够显示的颜色之外的色彩。混色利用了由多种色彩的图素组成的图素图案。可以呼叫GetNearestColor来决定与某一色彩最接近的纯色:

装置内容属性
 

前面已经提到过,Windows使用装置内容来保存控制GDI函式在显示器上如何操作的「属性」。例如,在用TextOut函式显示文字时,程式写作者不必指定文字的色彩和字体,Windows从装置内容取得这个资讯。

程式取得一个装置内容的代号时,Windows用预设值设定所有的属性(在下一节会看到如何取代这种设定)。表5-1列出了Windows 98支援的装置内容属性,程式可以改变或者取得任何一种属性。

表5-1
装置内容属性预设值修改该值的函式
取得该值的函式 Mapping Mode MM_TEXT SetMapMode GetMapMode Window Origin (0, 0) SetWindowOrgEx

OffsetWindowOrgEx

GetWindowOrgEx Viewport Origin (0, 0) SetViewportOrgEx

OffsetViewportOrgEx

GetViewportOrgEx Window Extents (1, 1) SetWindowExtEx

SetMapMode