VISUAL C++ 编程中的图形 图形设备接口(Graphic device interface)

Slides:



Advertisements
Similar presentations
DOC 推廣活動 月餅星光大道. 中秋  農曆八月十五日,是中國傳統的中秋節。 古人將一年分成春夏秋冬四季,而一季又 分為孟、仲、季三月,八月是仲秋之月, 而十五又是這個月中間的一天,正處在秋 季的正中,所以把八月十五稱為「中秋」 或「仲秋」。  中秋夜,月亮最圓,月色最美,因此人們 把月圓看成是團圓的象徵,同時也稱八月.
Advertisements

中 五 級中 五 級 戰後國共關係 與 中華人民共和國成立 中國歷史科 1 )認識國共政治協商的概況 2 )認識國共內戰的概略經過及結果 3 )中華人民共和國成立.
不吃早餐的影響: 體內的葡萄糖無法 足夠供應給大腦與 肌肉,會感覺疲勞, 注意力無法集中。。 營養的早餐:乳品 + 全榖類食品 + 蛋白質 + 水果 早餐你吃了嗎?
北京师范大学生命科学学院 北京师范大学生命科学学院 余跃强 章腾勋 王航 余跃强 章腾勋 王航 2 目 录目 录目 录目 录  前言 前言  概述 概述  形态和生活史 形态和生活史  寄生适应特征 寄生适应特征  致病机制与症状 致病机制与症状  诊断 诊断  流行情况 流行情况.
职业指导服务系统 欢迎了解职业指导服务系统!
人文地理專題研究 王志明.
存量房交易纳税评估 系统简介 常州市武进地方税务局 政策法规科 2011 年 7 月.
2014年爱婴医院复核方案解读 省卫生计生委妇幼处 邱灵.
导言 第四 单元 凡尔赛—华盛顿体系与第二次世界大战
高职人才培养评估核查 与状态数据采集平台建设工作 说 明 广东水利电力职业技术学院 曾志军
統昶行銷 碩士班儲備幹部培訓合作說明 報告者:資源整合部 蔡水上.
第四章 招聘录用.
人感染H7N9禽流感疫情 流行病学调查与处理 菏泽市疾控中心 2013年4月
社團經費申請 及核銷相關規定 製作:世新大學會計室.
会计实验.
劳动社会保障法学 吴 斌 四川理工学院 法学教授.
二级综合医院等级评审要点 及注意事项解读 (管理组)
“卓越工程师”培养的质量保障体系构建探索
土地出让转让的政策与实务 岳晓武 国土资源部利用司.
简 介 简 介 庞各庄镇中心卫生院始建于1956年,占地11.5亩,总建筑面积4500平方米。下辖1个综合门诊部,8个社区卫生服务站。门诊部占地8.5亩,总建筑面积1500平方米;8个社区卫生服务站总建筑面积2000余平方米,平均占地1.2亩建筑面积210平方米。 我院现有职工134人,实有病床50张,主要为全镇53个自然村的4.2万人口和外来流动人口1.5万人提供预防、保健、医疗、健教、康复、计划生育等项服务。
第九章 2D遊戲演算法 課前指引 本章中將介紹在遊戲開發過程中,常會運用到一些貼圖技巧,來展現遊戲畫面及動態效果。例如基本貼圖、動畫貼圖、橫向捲軸移動、前景背景移動等,來提高單純2D圖片的變化性。
“携手灭烟,拥抱晴天”无烟环境倡导活动 媒体倡导模式及发动要点 新探健康发展研究中心 范彩虹
老師:鍾郁芬 老師 指導 組長:陳欣怡 組員:曾郁雯 倪敏富 王宣化 簡宏倫 黃郁涵
補救教學實施策略 國立新竹教育大學 高淑芳.
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
题目回顾 泉水在地下蓄积,一旦有机会,它便骄傲地涌出地面,成为众人瞩目的喷泉,继而汇成溪流,奔向远方。但人们对地下的泉水鲜有关注,其实,正是因为有地下那些默默不语的泉水的不断聚集,才有地上那一股股清泉的不停喷涌。 请根据你对材料的理解和感悟,自选一个角度,写一篇不少于800字的文章,文体自定,标题自拟。要求:立意明确,不要套作,不得抄袭。
高考总复习·语文 第二章 一、 古代诗文阅读 第四节 分析综合.
動畫與遊戲設計 2D Game 程于芳 老師
普通话模拟测试 与学习平台 使用指南.
过程性保存文本格式的实现 计算概论小课题 王元康.
广 东 技 术 师 范 学 院 美术学院 装潢专业 2012级(3)班 郑可珊
汽车认识 汽车保险的交强险.
第十九章 散文 教学要求: 了解散文的含义、分类、特点,学习写作抒情散文。 重点: 散文的特点,散文的写作。 难点: 散文的写作训练。
勞保年金制度及軍教人員 退休制度改革規劃 行政院年金制度改革小組 102年1月30日.
網路小說劇情建構與伏線營造 Windows98.
单元三 特种货物运输组织 任务一 危险货物运输组织 任务二 超限货物运输组织 任务三 冷藏货物运输组织 任务三 冷藏货物运输组织.
农机化项目管理培训会 柳州市农机局 郑崇宁
一二·九运动                                                                    0712班.
中小学教育科研课题的选择 王典伟.
学习2009年 《福建省理科综合考试说明》 主讲: 沈玲燕         2009.2。25.
经管系____届毕业生 顶岗实习和毕业手续
初中历史课堂活动教学介绍 北京七中 白洁.
出口农产品风险管理 企业分类及监督管理表格
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
学校幼托机构春季 传染病防控 镇海区CDC 吴永.
项目五 统计基本分析指标(1) ——总量指标和相对指标
1.5 地球运动的地理意义(一) 自 转意义 一、昼夜交替 昼夜现象 1、昼夜更替 周期是24小时(1太阳日) 地球是一个不发光
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
基于VC++的数字图像特效处理系统的设计与实现
教育调查研究法.
化為千風 國小高年級生命教育課程分享 蘇珮君
● 四 (2)班 家 长 网络交 流 会 ● 快乐成长 与您 共享 家庭 学校 社会.
学科科研工作与科研 奖励政策解读讲座 朱文斌 博士 教授 2015年9月8日.
重性精神病患者 管理服务规范.
武汉市武昌区疾病预防控制中心 全永霞 副主任医师
第9章 金融监管.
教师资格考试 综合素质与学科知识.
做阳光的 职业教育教师 ——与曲靖农校教师共勉 心理咨询师 梁 永 红 2014年10月11日.
首都师范大学.
游子心 中华情 美国大华府地区华人华侨 庆祝中国六十周年华诞.
第5章 图形和文本输出.
Windows 程式設計 (使用 C++ / C#)
關心今天的老人, 就是關心明天的自己 作者:周儀.
第4章 MFC编程 4.1 MFC概述 4.2 MFC和Win CObject类 4.4 消息映射的实现
疾病预防控制绩效考核管理软件 开发思路 & 使用说明
《郑伯克段于鄢》 黎兰老师制作.
MFC及其应用.
实训7:屈光检查 天津职业大学眼视光工程学院 王海英.
仲裁处理细则及常见问题解析.
嘉義縣立溪口國民中學 辦理96年度推動自由軟體學校資訊融入教學
Presentation transcript:

VISUAL C++ 编程中的图形 图形设备接口(Graphic device interface) 链接硬件设备和图像输出的中间接口 可以使用GDI的类叫做GDI类,对应的GDI对象包括: CBitmap CBrush CFont CPen CRgn CPallete

使用画笔类对象进行画线

设备描述表(DEVICE CONTEXT) Windows的绘图操作必须通过调用设备描述表(DC) 来实现。 调用DC的方法: GetDC(); BeginPaint(); CClientdc dc;

使用画笔类对象进行画线

使用画笔类对象进行画线

画刷类的使用

基于GDI的动画制作

回顾重绘功能的实现 第一步:在Doc中使用CObArray m_obArray来保存 已画的信息(包括type, 起点 和 终点) 第二步:在每次窗口变化时,View::OnDraw ()函数会自动运行,我们重载该函数来实现重绘。 第三步:在View::OnDraw()中呼叫CGraph::Draw(), 并传入已保存的type, 起点 和 终点 第四步,重绘。

手工“动”画实例 新建CGraph, CColor classes.

手工“动”画实例 在Doc中添加变量CObArray arr1 和arr2:

手工“动”画实例 添加C*View::OnLButtonDown消息处理函数

手工“动”画实例 修改View::OnDraw函数

手工“动”画实例 添加CGraph::Draw()函数

手工“动”画实例

如何使动画真正“自动化” 在MainFrame class中添加SetTimer 函数以及定时 器消息处理函数

如何使动画真正“自动化

任意选择球的运动方向 修改C*View::OnLButtonDown函数

球运动到用户窗口(CLIENT WINDOW)边缘处停止 修改View::OnDraw函数

球运动到用户窗口(CLIENT WINDOW)边缘处停止 修改CGraph::Draw函数

球运动到用户窗口(CLIENT WINDOW)边缘处停止

基于GDI的动画制作 2 在C*View中添加OnCreate函数:

基于GDI的动画制作 2 修改C*View中添加OnDraw函数:

基于GDI的动画制作 2 在C*Doc中添加多个CObArray

基于GDI的动画制作 2 在CGraph中添加Draw2 和Draw3函数

基于GDI的动画制作 2 效果:

基于GDI的动画制作 2 添加键盘操作命令来移动绿色长条:

基于GDI的动画制作 2 添加键盘操作命令来移动绿色长条:

窗口无闪烁的实现 做到这里,我们会发现窗口在动画的时候有时候会闪 烁,这是由于GDI函数向屏幕输出的时候并不是立刻 就显示在屏幕上只是写到了显存里,而显卡每隔一段 时间把显存的内容输出到屏幕上,这就是刷新周期。 一般显卡的刷新周期是 1/80秒左右,具体数字可以 自己设置的。 这样问题就来了,一般画图都是先画背景色,然后再 把内容画上去,如果这两次操作不在同一个 刷新周期内完成,那么给人的视觉感受就是,先看到 只有背景色的图像,然后看到画上内容的图像, 这样就会感觉闪烁了。

窗口无闪烁的实现 要实现窗口无闪烁,我们要做两件事情。 1. 把原窗口背景色和当前要画的图样放到同一个内 存显示设备(CDC)中,然后把它们一起显示出来, 而不是一个一个的画。 2. 要拦截背景擦除函数WM_ERASEBK,阻止系统 不停的刷新背景。

窗口无闪烁的实现

窗口无闪烁的实现 拦截背景擦除函数WM_ERASEBK