[MFC]设备描述表属性、绘图模式

原创 2015年07月08日 11:55:23

1. 设备描述表的属性:

    1) 其实就是CDC结构中的一些字段,这些字段会影响GDI画图时的一些表现;

    2) 通常这些表现在使用具体的画图函数时无法设置,比如DrawText画字时字的颜色、LineTo画点划线时点和线段之间的填充颜色等,这些属性无法通过具体的画图函数来指定;

    3) 以上谈到的这些属性都属于DC本身的全局性的属性,想要设定必须通过CDC的Set系列等函数来指定;


2. 几种常用的DC属性的设置和获取:(设备描述表属性就简称为DC属性了),按照Set、Get和默认值排列

    1) 文本颜色:SetTextColor、GetTextColor、BLACK

    2) 背景颜色:SetBkColor、GetBkColor、WHITE,该属性决定了输出的文本字符后面的颜色,即文本的背景色,以及点划线中点线之间的填充色,还有阴影填充线之间的填充色

    3) 背景模式:SetBkMode、GetBkMode、OPAQUE,该属性决定前面的背景颜色是否被忽略,如果为TRANSPARENT则将忽略背景色(透明,颜色伴随视图区的颜色),如果为OPAQUE则为不透明,BkColor指定的颜色将生效

    4) 当前位置:MoveTo、GetCurrentPosition、(0, 0)

    5) 画笔、画刷、字体:Set和Get都是SelectObject,默认分别为BLACK_PEN、WHITE_BRUSH、SYSTEM_FONT

    6) 还有非常重要的绘图模式和映射模式,这将在后面讲到


3. 绘图模式:

    1) GDI在绘图的时候并只是简单将像素点复制到相应位置达到画图的目的,GDI还提供了其它多种多样的绘图模式;

    2) 有时候为了达到增大绘图效率和速率的目的采用对像素点进行布尔运算的形式来绘图,比如在白板上画黑线,则只需要对画线的白色像素点做NOT运算即可得到黑色的像素点,而我们的绘图模式就是一些列AND、OR、NOT的组合;

    3) 绘图模式:SetROP2、GetROP2、R2_COPYPEN,其中ROP2即Raster Operation To的缩写,即光栅操作的意思,默认的R2_COPYPEN就是简单的复制像素点的操作,但是还有其它大量丰富的操作,R2就是Raster To的缩写;

    4) 常用的绘图模式:

R2_NOP:dest = dest

R2_NOT:dest = NOT dest

R2_BLACK:dest = BLACK

R2_WHITE:dest = WHITE

R2_COPYPEN:dest = src

R2_NOTCOPYPEN:dest = NOT src

R2_MERGEPEN:dest = src OR dest

R2_MASKPEN:dest = dest AND src

R2_XORPEN:dest = dest XOR src

设备描述表概念及使用

设备描述表概念及使用 1设备描述表概述     当Windows要在显示器或其他设备上绘制图形或文本时,其不像DOS系统把图像和文本直接输出到硬件,而是使用一个设备描述表来替代硬件设备的逻辑表示。  ...
  • u012377333
  • u012377333
  • 2016年09月01日 15:13
  • 1493

MFC绘图控制-映射模式

MFC绘图控制-映射模式。
  • mengwang024
  • mengwang024
  • 2014年11月20日 19:49
  • 1185

MFC绘图控制-设备描述表

本文介绍了MFC中获取设备描述表的方法。
  • mengwang024
  • mengwang024
  • 2014年11月19日 22:29
  • 816

MFC设备描述表的总结

/*****************************Windows程序设计********************************************/ 设备描述表是一个定义...
  • OUYANG_LINUX007
  • OUYANG_LINUX007
  • 2012年06月06日 10:36
  • 1715

MFC设备描述表

//GetDc获得CDC的指针      CDC *PDc=GetDC();      ReleaseDC(PDc);//释放DC      //若上面的代码出现在OnPaint() 中,则需要使用C...
  • chenwenzhan163
  • chenwenzhan163
  • 2013年08月24日 13:16
  • 678

设备描述表之映射模式介绍

 映射模式是设备描述表的内容之一,其优点是程序员可不必考虑输出设备的坐标系情况,而在一个统一的逻辑坐标系中组成图形的绘制与操作,映射模式定义了将逻辑单位转化为设备的度量单位以及设备的x方向和y方...
  • liuyanhuasd
  • liuyanhuasd
  • 2016年02月17日 11:20
  • 464

设备描述表及绘图

在windows平台下,所以的图形操作都是利用DC来完成的; 在相应WM_PAINT消息的代码中,要得到窗口的图形数据,必须调用BeginPaint函数。 BeginPaint函数也只能在WM...
  • life061522
  • life061522
  • 2015年07月28日 12:39
  • 343

MFC单文档绘图(二)——TabCtrl和CPropertySheet

想到这个问题就头疼,
  • terrycanny
  • terrycanny
  • 2014年09月01日 20:59
  • 1186

Windows 中GDI、设备描述表和位图

在Windows中,所有的图形和图像显示操作都是通过GDI(Graphic Device Interface)模块完成,,而GDI的显示都是由设备描述表(Context Device,简称DC)来完成...
  • wenzhou1219
  • wenzhou1219
  • 2014年03月28日 19:38
  • 2689

创建MFC绘图步骤

微软基类库MFC(microsoft foundation class library,MFC)是以C++形式封装的Windows API(Application Program Interface)...
  • winycg
  • winycg
  • 2017年03月15日 00:01
  • 864
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[MFC]设备描述表属性、绘图模式
举报原因:
原因补充:

(最多只允许输入30个字)