




免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC 动画图形绘制 概述 计算机动画 借助计算机生成一系列供动态演示图形的技术 动画技术在CAD CAM CAI等许多领域里都有广泛应用动画直观 形象等特点 在模拟仿真领域也有关非常重要的地位 如模拟航空器飞行 能使飞行员在计算机上处理实际飞行中可能出现的问题 计算机生成动画的两种途经 利用现成的动画制作软件 如二维的Flash工具 三维的3DMAX工具等 生成动画比较方便 快速 制作人员无需掌握编程知识 在较短的时间内就能学会 直接通过编写程序来生成动画要求制作人员具备一定的程序设计知识 动画编程技巧 利用计算机编程可产生 种类型的动画 异或动画 调色板动画 侦动画 块动画和实时动画 动画类型简介 异或动画 利用异或方式在原来位置重画 就能快速地擦除刚才的画的物体 然后在新位置显示出来 异或操作 异或是一个数学运算符 他应用于逻辑运算 其运算法则为a异或b a b ab a 为非a 例如 00001111异或11111111 11110000调色板动画 通过将各个像素点的颜色按一定的方式进行循环变化 就可以模仿出流动的水 空气和亮度等变化 侦动画 翻页式动画 是将动画所有的侦准备好 然后快速地切换每一侦画面 由此形成动画 块动画 将显示对象分为背景和前景两部分 背景不发生改变面前景不断变化 便显示出动画效果 实时动画 在动画过程中实时地绘制图形 至少需要两个图形页 当在一页上绘制图形时另一而被显示出来 如此循环切换来显示动画 1异或动画 1 1异或动画原理绘制图形时使用异或光栅操作代码 即R2 XORPEN代码 R2 XORPEN表将画笔和屏幕颜色进行异或运算 它们是绘制图形的基础 也是这种绘制方法名的由来 最后结果是两种颜色的异或 异或运算规则见下表 1 1异或动画原理 第一次异或方式在屏幕上某一位置画图时 最后的结果是画笔颜色和屏幕颜色的异或 第二次在相同位置用异或方式重画后 最后的结果又变回屏幕原来的颜色 也就是将第一次所画的物体擦除了 由于是位运算 速度非常快 不会出现闪烁现象 在某一开始位置用异或的方式画一物体 然后隔一定的时间间隔在上次的位置再画一次 然后沿某个方向移动一微小距离 在新的位置将物体再画一遍 如此循环下去 就可以看到一个物体在运动 可形成动画 1 2异或动画举例 例子 在交互式绘图中用户想画一条直线 首先按下鼠标左键确定直线起点 接着移动鼠标 这时会有一条直线随着鼠标移动 直到用户松开左键为止 这条随鼠标移动的直线称为 像皮筋 第一步 定义两个变量CPointstart end 直线的起点和终点intflag 标志 第一次鼠标左键 0第二鼠标左键 在构造方法中初始化flag 0 第二步 增加鼠标左键消息处理及代码 1 2异或动画举例 CDC dc GetDC 取得绘图设备环境上下文指针CPennewpen PS SOLID 0 RGB 255 0 0 创建新的画笔CPen oldpen if flag 0 第一次按下鼠标左键时flag 1 start end point else 第二次按下鼠标左键时oldpen dc SelectObject 1 2异或动画举例 第三步 增加鼠标移动消息处理及代码CDC dc GetDC CPennewpen PS SOLID 0 RGB 255 0 0 CPen oldpen dc SelectObject 2调色板动画 2 1调色板动画原理一个调色板包含一组256个24位的RGB颜色值 调色板不同颜色就不同 最多有256种 从0 255索引 在显示缓存中 每个像素都有一个从0 255的值 这个像素值指出了使用调色板中的哪种颜色给该像素着色 改变像素颜色的方法 改变像素的索引值 使其指向调色板中拐一项 改变调色板的RGB值 注意 第二种方法将导致屏幕上所有使用该调色板项值的像素的颜色都发生变化 缺点 整个屏幕只能显示256种颜色 而不是针对某个窗口或应用程序 优点 使未压缩的图像文件比真彩色图像小三分之二 可以使用Windows固有的调色板操作函数执行一种比较流行且经济的动画 调色板动画 调色板动画就是通过有规律地改变每个像素的索引值 使得屏幕上每个像素的颜色发生变化 形成一种动感 能很好地模仿出流动的水 空气 亮度等变化效果 2 2生成调色板动画的步骤 2 生成调色板动画的步骤 声明一个调色板对象 并将它初始化 创建几把画刷 每把画刷用标志置成0 x01的值以初始化 这表明每个画刷的颜色都是一个指定调色板位置的索引3 设置一个定时器 用它来控制隔多长时间将屏幕重画 4 用创建的每把刷子各画一个物体 5 每隔一定时间调用调色板的操作函数AnimatePalette来改变每把画刷的索引最后的结果就是看起来屏幕上的每个物体在不停地移动 实际上是它们的颜色在发生改变 2 3调色板动画举例 2 3调色板动画举例创建一个基于对话框的应用程序 在对话框的四周车许多小圆表示灯炮 程序运行时各个小圆的颜色发生变化 好像门上闪烁的灯 3帧动画 3 1帧动画原理帧动画也称页动画或全屏幕动画 动画程序预先建立许多幅全屏幕图像 并将每幅图像都存起来 每幅图像也称为一帧面 播放时程序依次显示每幅图像 形成动画 常用于复杂的整屏三维动画 3 2制作帧动画首先 把第一帧画面建立起来 一般情况每帧的场景都非常复杂 习惯上都是用其他图形图像处理软件来实现 由于每一秒至少需要24帧画面才能取得比较好的效果 所以工作量非常大 而且需要的时间也比较多 其次 用动画播放程序来播放每一帧画面 当每一帧都比较小时可以一次将所有帧都读入内存 然后按照一定时间间隔连续显示每一帧画面 onDraw函数CFrameDoc pDoc GetDocument if flag 当播放时pDC SetStretchBltMode COLORONCOLOR 设置位图拉伸模式 采用保存彩色位图颜色模式 将指定内存位置大小的位图在屏幕上显示出来pDC StretchBlt 100 50 m sizeDest cx m sizeDest cy 增加定时器及响应消息 onTimer if flag if index 0 index 1 elseindex 0 Invalidate 初始化更新m pBitmap 0 LoadBitmap IDB BITMAP1 将位置装入内存m pBitmap 1 LoadBitmap IDB BITMAP2 for inti 0 i 2 i CClientDCdc this 创建关于窗口客户区的设备上下文OnPrepareDC 3帧动画 3 2程序举例及说明定义变量 CFrameDoc GetDocument CDCm pdcMemory 2 设备上下文指针数组CBitmapm pBitmap 2 位图指针数组CSizem sizeDest 目标区域大小CSizem sizeSource 源块大小BOOLflag 标志 是否播放动画intindex 画面序号设置默认状态 View的构造函数中 Flag FALSE Index 0 4块动画 4 1块动画原理块动画又称为子画面动画 部分屏幕动画显示对象分成两部分 背景和前景背景通过不发生变化 前景不断地运动 改变 只要将背景画一次 不断更新前景就形成了块动画 由于每次不需要刷新整个屏幕 而仅仅是一小部分 所以可以获得很高的动画速度 许
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化遗产语义组织-洞察及研究
- 浙江同济科技职业学院《微生物学检验》2023-2024学年第二学期期末试卷
- 广东外语外贸大学南国商学院《教学设计》2023-2024学年第二学期期末试卷
- 郑州铁路职业技术学院《幼儿园教学活动的组织与实施》2023-2024学年第二学期期末试卷
- 天津音乐学院《交通统计学》2023-2024学年第二学期期末试卷
- 绵阳职业技术学院《食品工厂机械与设备B》2023-2024学年第二学期期末试卷
- 生物识别签名验证-洞察及研究
- 湖南第一师范学院《灯光基础》2023-2024学年第二学期期末试卷
- 新疆财经大学《影视摄像基础》2023-2024学年第二学期期末试卷
- 浙江大学《中国思想史》2023-2024学年第二学期期末试卷
- 【基于单片机的超速报警器的电路设计6100字(论文)】
- 研学旅行概论 课件 第八章 研学旅行的安全管理
- 2024届贵州黔东南州高一化学第二学期期末统考试题含解析
- 凝血分析的质量控制
- 康复科提高康复住院患者自主呼吸训练的执行率和正确率医院持续质量改进PDCA项目汇报书
- 智慧校园大数据可视化分析平台建设方案
- 110kv升压站施工组织设计
- “安全生产课件:如何预防工伤事故”
- 《教育学原理》马工程教材第二章教育与社会发展
- 西藏农村公路管理办法
- 野外生存优秀课件
评论
0/150
提交评论