当前位置:文档之家› GDI双缓冲实现与GDI+双缓冲实现

GDI双缓冲实现与GDI+双缓冲实现

GDI双缓冲实现与GDI+双缓冲实现
GDI双缓冲实现与GDI+双缓冲实现

GDI双缓冲实现与GDI+双缓冲实现

分类:C++ 2013-03-21 13:32 57人阅读评论(0) 收藏举报

我们看电视时,看到的屏幕称为OSD层,也就是说,只有在OSD层上显示图像我们才能看到。现在,我需要创建一个虚拟的、看不见但是可以在上面画图(比如说画点、线)的OSD层,我称之为offscreen(后台缓冲区)。这个offscreen存在于内存中,我们在上面画图,这个offscreen上面的东西可以显示在OSD层上,需要一个创建这个offscreen的函数,返回这个offscreen的句柄(整型指针)、宽度、高度、指向新建offscreen数据缓冲区的指针,该缓冲区是一个在函数外创建的offscreen的数据缓冲区,大小是offscreen的高度*宽度*每个像素点数据的大小。闪烁是图形编程的一个常见问题。需要多重复杂绘制操作的图形操作会导致呈现的图像闪烁或具有其他不可接受的外观。双缓冲的使用解决这些问题。双缓冲使用内存缓冲区来解决由多重绘制操作造成的闪烁问题。当启用双缓冲时,所有绘制操作首先呈现到内存缓冲区,而不是屏幕上的绘图图面。所有绘制操作完成后,内存缓冲区直接复制到与其关联的绘图图面。因为在屏幕上只执行一个图形操作,所以消除了由复杂绘制操作造成的图像闪烁。

如何实现双缓冲

首先给出实现的程序,然后再解释,同样是在OnDraw(CDC *pDC)中:

CDC MemDC; //首先定义一个显示设备对象

CBitmap MemBitmap;//定义一个位图对象

//随后建立与屏幕显示兼容的内存显示设备

MemDC.CreateCompatibleDC(NULL);

//这时还不能绘图,因为没有地方画^_^

//下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小,也可以自己定义(如:有滚动条时就要大于当前窗口的大小,在BitBlt时决定拷贝内存的哪部分到屏幕上)

MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);

//将位图选入到内存显示设备中

//只有选入了位图的内存显示设备才有地方绘图,画到指定的位图上

CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);

//先用背景色将位图清除干净,这里我用的是白色作为背景

//你也可以用自己应该用的颜色

MemDC.FillSolidRect(0,0,nWidth,nHeight,RGB(255,255,255));

//绘图

MemDC.MoveTo(……);

MemDC.LineTo(……);

//将内存中的图拷贝到屏幕上进行显示

pDC->BitBlt(0,0,nWidth,nHeight,&MemDC,0,0,SRCCOPY);

//绘图完成后的清理

MemBitmap.DeleteObject();

MemDC.DeleteDC();

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////

GDI+实现双缓冲的具体步骤

我再来详细解释一下刚才实现双缓冲的具体步骤:

1、在内存中建立一块“虚拟画布”:

Bitmap bmp = new Bitmap(600, 600);

2、获取这块内存画布的Graphics引用:

Graphics g = Graphics.FromImage(bmp);

3、在这块内存画布上绘图:

g.FillEllipse(brush, i * 10, j * 10, 10, 10);

4、将内存画布画到窗口中

this.CreateGraphics().DrawImage(bmp, 0, 0);

选择习题及答案概要

第1章检测技术基础 一、单项选择题 1、一块量程为800℃,2.5级测温仪表,现要测量500℃的温度,其相对误差为 【】(分数:1分) A. 20℃ B. 4% C. 1.6% D. 3.2% 正确答案:B 2、某温度仪的相对误差是1%,测量800℃炉温时,绝对误差是【】(分数:1分) A. 0.08℃ B. 8% C. 0.8℃ D. 8℃ 正确答案:D 3、漂移是指在输入量不变的情况下,传感器输出量随()变化。【】(分数:1分) A. 温度 B. 电压 C. 电流 D. 时间 正确答案:D 4、下列四个选项中,关于相对误差特征正确的是【】(分数:1分) A. 大小与所取单位有关 B. 量纲与被测量有关 C. 不能反映误差的大小和方向 D. 能反映测量工作的精细程度 正确答案:D 5、下面哪一种情况可能会产生随机误差【】(分数:1分) A. 测量人员的粗心大意 B. 检测装置的指示刻度不准 C. 许多因素的微小变化之和 D. 传感器的不稳定 正确答案:D 6、某量程为1000Kg的秤,相对误差是1%,则测量10Kg重物的绝对误差是【】(分数:1分) A. 1Kg

C. 0.1Kg D. 10Kg 正确答案:C 7、属于传感器动态特性指标的是【】(分数:1分) A. 重复性 B. 线性度 C. 灵敏度 D. 固有频率 正确答案:D 8、下列技术指标中,描述传感器静态特性的是【】(分数:1分) A. 阶跃特性 B. 频率特性 C. 线性度 D. 时间常数 正确答案:C 9、精确度是反映检测系统误差和( )误差的综合评定指标。【】(分数:1分) A. 静态 B. 动态 C. 附加 D. 随机 正确答案:D 10、在选择压力表量程时,必须考虑到留有充分的余量。一般在被测压力较稳定的情况下,最大压力值不应超过压力仪表满量程的【】(分数:1分) A. 1/3 B. 2/3 C. 3/4 D. 满量程 正确答案:C 11、下面不是系统误差产生的主要原因的是【】(分数:1分) A. 检测装置指示刻度不准 B. 测量人员粗心大意 C. 测量原理方法不当 D. 测试环境的变化 正确答案:B 二、多项选择题 12、下列哪几项属于随机误差的特性【】(分数:2分) A. 有界性 B. 单峰性

html,JavaScript,css试题库

一、HTML试题库 1、单选题 (1)下列哪个标签是定义标题的(A) A、h1 B、hr C、hw D、p (2)html中的注释标签是(C)* A、 <-- --> B、<--! --> C、 D、<-- --!> (3)标签的作用是(D) A、斜体 B、下划线 C、上划线 D、加粗 (4)网页中的空格在html代码里表示为(B)* A、& B、  C、" D、< (5)定义锚记主要用到标签中的(A)属性。* A、name B、target C、onclick D、onmouseover (6)要在新窗口中打开所点击的链接,实现方法是将标签的target属性设为(A)* A、_blank B、_self C、_parent D、_top (7)下列代表无序清单的标签是(A)** A、

B、
C、
  • … D、< li >…< ol >… (8)定义表单所用的标签是(B) A、table B、form C、select D、input (9)要实现表单元素中的复选框,input标签的type属性应设为(B) A、radio B、checkbox C、select D、text (10)要实现表单元素中的单选框,input标签的type属性应设为(A) A、radio B、checkbox C、select D、text (11)要使单选框或复选框默认为已选定,要在input标签中加(D)属性* A、selected B、disabled C、type D、checked (12)要使表单元素(如文本框)在预览时处于不可编辑状态,显灰色,要在input中加(B)属性* A、selected B、disabled C、type D、checked 2、多选题(选错、多选、少选都不给分) (1)定义表格常用的3个标签是(ABC ) A、table B、tr C、td D、tp (2)哪两个属性可用于表格的合并单元格(AD)** A、colspan B、trspan C、tdspan D、rowspan (3)实现下拉列表框,要用到一下哪几个标签(BC) A、input B、select C、option D、radio (4)定义框架要用到以下的哪个标签(BC)* A、framework B、frameset C、frame D、framespace (5)要在网页中加入音乐或背景音乐,以下哪个标签可以实现(ABC)*

    选择题及答案

    选择题及答案 1、常用集电极电流流通角θ的大小来划分功放的工作类别,丙类功放。 A) θ = 180O B) 90O<θ<180O C) θ =90 O D) θ<90O 2、在模拟乘法器上接入调制信号VΩm cosΩt和载波信号V cm cosωc t 后将产生。 A)ωc±Ω B)2ωc±Ω C)2ωc D)频谱分量 3、放大器工作在欠压状态,随着负载谐振电阻R P的增大而向临界状态过渡时, 放大器的交流输出电压V cm将。 A) 减小 B) 增大 C) 略有增大 D) 略有减小 4、设石英振荡器的振荡频率介于串联谐振频率与并联谐振频率之间时,石英晶体的。 A) 等效阻抗为0 B) 等效阻抗无穷大 C) 等效阻抗成感性 D) 等效阻抗成容性 5、谐振功率放大器工作于欠压区,若集电极电源V BB中混入50Hz 市电干扰,当输入为等幅正弦波时,其输出电压将成为。 A) 调频波 B) 等幅正弦波 C) 直流信号按50Hz正弦变化的波 D) 调幅波 6、多级单调谐小信号放大器级联,将使()。 A)总增益减小,总通频带增大 B)总增益增大,总通频带减小C)总增益增大,总通频带增大 D)总增益减小,总通频带减小7、SSB信号的检波可采用()。 A)小信号检波 B)大信号检波 C)同步检波 D)以上三种均可8、调幅、检波和混频电路的实质都是()。 A)频谱的非线性搬移 B)频谱的线性搬移C)相位变换 D) 以上三种均可 9、当两个频率不同的单频信号送入非线性器件,产生的组合频率最少的器件是() A.极管 B.三极管 C.场效应管10、单频调制时,调相波的最大相偏Δφm正比于() A.U Ω B.uΩ(t) C.Ω

    六年级数学选择题(50题含答案)

    1、一个三角形,三个内角度数的比为2:5:3,则此三角形为() A.锐角三角形 B.直角三角形 C.锐角三角形 D.无法确定 2、圆柱体底面半径扩大到原来的2倍,则体积() A.扩大8倍 B.扩大2倍 C.扩大4倍 D.不变 3、80×☆+5与80×(☆+5)相差() A.75 B.5 C.400 D.395 4、一批水泥,用去4/9,剩下的是用去的() A. 5/9 B. 4/5 C. 5/4 D. 10/9 5、在一个正方形里画一个最大的圆,圆的面积是正方形面积的()。 A. 1/2 B. 3/4 C. ∏/4 D. ∏ 6.两根同样长的钢筋,从一根截去它的2 3,从另一根截去 2 3米,余下的部分()。 A、第一根长 B、第二根长 C、相等 D、无法比较 7.小麦的出粉率一定,小麦的重量和磨成的面粉的重量() A、成反比例 B、成正比例 C、不成比例 8.一个三角形三个内角度数比是2:3:5,这个三角形是() A、锐角三角形 B、直角三角形 C、钝角三角形 9.一个数按“四舍五入”法则保留一位小数是3.0,这个数可能是()。 A、3.81 B、3.04 C、2.896 D、2.905 10.在含糖率是20%的糖水中,加入5克糖和20克水,这时的糖水比原来() A.更甜了 B.不那么甜了 C.一样甜 11.估计下面四个算式的计算结果,最大的是() A.2011×(1+ 1 2011) B. 2011×(1- 1 2011) C. 2011+(1+ 1 2011) D. 2011+(1- 1 2011) 12.从A城到B城,甲车要用4小时,乙车要用5小时,那么,甲车速度比乙车 () A.快25% B. 慢25% C. 快20% D. 慢20% 13.投3次硬币,有2次正面朝上,1次反面朝上,那么,投第4次硬币正面朝上的可能性是() A. 1 4 B. 2 3 C. 1 3 D. 1 2 14.一根绳子被剪成两段,第一段长2 3米,第二段占全长的 2 3,这两段绳子相比, () A. 第一段长 B. 第二段长 C. 两段一样长 D. 无法比较 15、在比例尺是1:150000的地图上,3厘米表示实际距离的()千米。 A、15 B、45 C、4.5 D、30 16、甲每4天去少年宫一次,乙每6天去一次,丙每8天去一次,如果6月1日,甲乙丙同时去少年宫,则下次同去少年宫应是() A、6月9日 B、6月19日 C、6月15日 D、6月25日

    Css复习题

    1、关于内容、结构和表现说法正确的是(ABD ) A、内容是页面传达信息的基础 B、表现使得内容的传达变得更加明晰和方便 C、结构就是对内容的交互及操作效果 D、内容就是网页实际要传达的信息,包括文本、图片、音乐、视频、数据、文档等。 2、关于XHTML基本语法说法正确的是(ABC ) A、在文档开始要定义文档类型 B、在根元素中应声明命名空间 C、所有标签需闭合的,空标签要加“ /”来关闭 D、注释语句为:/**/ 3、关于CSS基本语法说法正确的是( AC ) A、属性必须要包含在{}号之中 B、属性和属性值之间用等号链接 C、当有多个属性时,用“;”进行区分 D、如果一个属性有几个值,则每个属性值之间用分号分隔开 4、以下声明可将文本大小设为12px的有:(ABC) A、font-size:12px; B、font-size:9pt; C、font-size:0.75em; D、font-size:0.75; 5、关于样式表的优先级说法正确的是:(ABC ) A、直接定义在标记上的css样式级别最高 B、内部样式表次之 C、外部样式表级别最低 D、当样式中属性重复时,先设的属性起作用 6、关于浏览器默认样式说法错误的是:(ABCD ) A、IE默认页边距为10px,通过body的margin属性设置。 B、FF默认页边距为8px,通过body的padding属性设置。

    C、IE默认列表左缩进为40px,通过ul、ol的margin属性设置。 D、FF默认列表左缩进为40px,通过ul、ol的padding属性设置。 7、关于CSS为什么会出现Bug说法正确的是:(ABC) A、CSS作为表现标准语言,需要在不同浏览器中实现表现层统一 B、各大主流浏览器由于不同厂家开发,所有的核心构架和代码也很难重和 C、各大厂商处于自身利益而设种种技术壁垒 D、网页设计师定义的命名空间不一样 8、CSS样式文件的类型有( ABC ) A、内部样式表 B、内联样式表 C、外部样式表 D、包含样式表 9、以下哪些Bug在FF中不会出现( ABCD ) A、双补浮向Bug B、图片间隙 Bug C、项目符号隐藏 Bug D、多余字符Bug 10、DIV/CSS布局模型包括( ABC ) A、Flow Model(流动模型) B、Float Model(浮动模型) C、Layer Model (层模型) D、box Model (盒模型) 11、关于CSS基本语法说法正确的是( AC ) A、属性必须要包含在{}号之中 B、属性和属性值之间用等于号链接 C、当有多个属性时,用“;”进行区分

    选择题及答案

    ●某项目经理所在的单位正在启动一个新的项目,配备了虚拟项目小组。根据过去的经验,该项目经理认识到矩阵环境下的小组成员有时对职能经理的配合超过对项目经理的配合。因此,该项目经理决定请求单位制定(27)。在项目执行过程中,有时需要对项目的范围进行变更,(28)属于项目范围变更。 (27)A.项目计划B.项目章程C.项目范围说明书D.人力资源管理计划 (28)A.修改所有项目基线 B.在甲乙双方同意的基础上,修改WBS中规定的项目范围 C.需要调整成本、完工时间、质量和其他项目目标 D.对项目管理的内容进行修改●项目整体管理的主要过程是(29) (29)A.制定项目管理计划、执行项目管理计划、项目范围变更控制 B.制定项目管理计划、知道和管理项目执行、项目整体变更控制 C.项目日常管理、项目知识管理、项目管理信息系统 D.制定项目管理计划、确定项目组织、项目整体变更控制 ●项目进度网络图是(30) (30)A.活动定义的结果和活动历时估算的输入 B.活动排序的结果和进度计划编制的输入 C.活动计划编制的结果和进度计划编制的输入 D.活动排序的结果和活动历时估算的输入 ●某系统集成项目的目标是使人们能在各地书报零售店购买到彩票,A公司负责开发该项目适用的软件,但需要向其他公司购买硬件设备。A公司外包管理员首先应准备的文件被称为(31) (31)A.工作说明书B.范围说明书C.项目章程D.合同 ●由于政府的一项新规定,某项目的项目经理必须变更该项目的范围。项目目标已经做了若干变更,项目经理已经对项目的技术和管理文件做了必要的修改,他的下一步应该是(32)(32)A.及时通知项目干系人B.修改公司的知识管理系统C.获取客户的正式认可D.获得政府认可 ●(33)体现了项目计划过程的正确顺序。 (33)A.范围规划—范围定义—活动定义—活动历时估算 B.范围定义—范围规划—活动定义—活动排序—活动历时估算 C.范围规划—范围定义—活动排序—活动定义—活动历时估算 D.活动历时估算—范围规划—范围定义—活动定义—活动排序 ●在计划编制完成后,项目团队认为所制定的进度时间太长,分析表明不能改变工作网络图,但该项目有附加的资源可利用。项目经理采用的最佳方式是(34) (34)A.快速追踪项目B.引导一项MONTE CARLO分析C.利用参数估算D.赶工 ●活动排序的工具和技术有多种,工具和技术的选取由若干因素决定。如果项目经理决定在进度计划编制中使用子网络摸板,这个决策意味着(35) (35)A.该工作非常独特,在不同的阶段需要专门的网络图 B.在现有的网络上具有可以获取的资源管理软件 C.在项目中包含几个相同或几乎相同的内容 D.项目中存在多条关键路径

    初一数学选择题(50题含答案)

    初一选择题(50题含答案) 1、-3的绝对值等于( ) A.-3 B. 3 C. ±3 D. 小于3 2、与2ab -是同类项的为( ) A.2ac - B.22ab C.ab D.2abc - 3、下面运算正确的是( ) A.3ab+3ac=6abc B.4a 2b-4b 2a=0 C.224279x x x += D. 22232y y y -= 4、下列四个式子中,是方程的是( ) A.1+2+3+4=10 B.23x - C.21x = D.231-= 5、下列结论中正确的是( ) A.在等式3a-2=3b+5的两边都除以3,可得等式a-2=b+5 B.如果2=-x ,那么x =-2 C.在等式5=0.1x 的两边都除以0.1,可得等式x =0.5 D.在等式7x =5x +3的两边都减去x -3,可得等式6x -3=4x +6 6、已知方程210k x k -+=是关于x 的一元一次方程,则方程的解等于( ) A.-1 B.1 C.12 D.-12 7、解为x=-3的方程是( ) A.2 x +3y=5 B.5362x += C.13243 x x -+= D.3(x -2)-2(x -3)=5x 8、下面是解方程的部分步骤:①由7x=4x -3,变形得7x -4x=3;②由3-2x =1+2 3-x , 变形得2(2-x)=1+3(x -3);③由2(2x -1)-3(x -3)=1,变形得4x -2-3x -9=1; ④由2(x+1)=7+x ,变形得x=5.其中变形正确的个数是( ) A .0个 B .1个 C .2个 D .3个 9、如图,用火柴棍拼成一排由三角形组成的图形, 如果图形中含有16个三角形,则需要( )根火 柴棍

    CSS复习题

    CSS样式复习 一、判断对错 二、填空 1.CSS(Cascading Style Sheets)是层叠样式表的缩写”层叠”就是将显示样式独立于显示的内容,进行分类 管理. 2.Css样式上下文选择符定义嵌套标记的样式。 3.层叠样式表的英文缩写是CSS(t) 4.选择器是指要引用样式的对象,它可以是一个或多个HTML标记(各个标记之间以逗号分开),也可以是类选 择符、ID选择符或属性选择符等。 5.css样式定义中可以加入注解,格式为:/*字符串*/ 6.CSS样式表定义的基本语法为:选择器{样式属性名称:属性值;样式属性名称:属性值;} 7.外部样式表文件将样式表定义为一个独立的CSS样式文件,使用该样式表的HTML文件在头部用标记 链接到这个CSS样式文件,优先级低。 8.内嵌样式表利用