C++ 百叶窗效果程序的设计.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计任务书 学院 信息科学与工程学院 专业 电子信息工程 学生姓名 学号 设计题目 百叶窗效果程序设计 内容及要求:以面向对象编程技术设计windows应用程序,主要功能: 图片出现百叶窗效果。 进度安排: ?第一阶段: 16学时。设计阶段。学生根据所选题目,查阅有关资料,综合所学的理论知识完成整体设计及具体设计。 第二阶段: 12学时。调试测试阶段。上机调试测试,要求学生务必认真,思想高度集中,调试成功后,整理、编写设计资料及实验报告。 第三阶段: 4学时。验收答辩。 指导教师(签字): 年 月 日 分院院长(签字): 年 月 日 摘要 对于百叶窗效果,将放在暂存图形中的数据分成若干组,然后依次从第一组到最后一组搬移,第一次每组各搬移第一条扫描线到可视图的位置;第二次搬移第二条扫描线,接着第三条、第四条扫描线。 调用CopyRect Tcanvas对象与拷贝位图有关的是CopyMode属性和CopyRect方法,其中CopyMode定义拷贝的模式,而Copy Rect执行位图拷贝的操作。当CopyMode定义为缺省值cmSrcCopy时,CopyRect将源画布上的一部分位图拷贝到目标画布上的一个矩形区域内。通过本课程教学,培养学生具备利用可视化开发工具开发信息系统能力,培养学生的实际动手能力以及自学其它系统开发工具的能力。通过本课程教学,着重培养学生具备理论联系实际,以所学的知识,用于解决实际问题的良好素质。这次实验主要通过对可视化开发工具Delphi7的使用,结合Microsoft Access强大的数据库功能,建立一个人机交互友好系统,通过对已学知知识的掌握,在理论基础上锻炼自己的实际动手能力,培养学生发散思维和系统思维。 二.关键技术 Delphi中与绘图和位图操作有关的对象是画布Tcanvas。Tcanvas对象功能强大,封装了WindowsAPI的GDI,用户可以很方便地在画布上绘制直线、矩形、椭圆、多边形等基本图形,还可以显示、拷贝位图,却不必关心设备上下文等GDI概念,极大地方便了用户。Tcanvas对象本身并不是一个构件,不单独使用,它总是作为其它对象的属性来使用的。Delphi有四个对象具有画布属性,它们是TForm、TImage、TPaintbox和Tbitmap,其中前三者是可视化构件。至于Tcanvas的详细情况,可以参考Delphi的联机帮助。 实现简单的位图显示特技,实际上就是以不同的方式逐渐将源位图拷贝到Tcanvas类型的对象上,如从位图的中央开始拷贝一个矩形区域到屏幕中央,矩形区域不断扩大直到拷贝整个位图,其视觉效果就是位图从屏幕中央向四周扩散。不同的拷贝方式就形成了多种特技形式,如扩散、拉动和百叶窗等。对于每种特技形式灵活运用,又可演变出多种花样,如扩散可以演变为从上向下、从左向右、从中间向四周和相反方向的扩散,以及从一角向对角方向扩散的特技花样。 实现上述位图显示特技的原理很简单,关键是怎样实现位图的拷贝。在Delphi中有两种拷贝位图的方法,相应地就有两种实现位图显示特技的方法,一种是用Tcanvas对象的方法CopyRect,另一种是调用WindowsAPI的BitBlt函数。 调用CopyRect Tcanvas对象与拷贝位图有关的是CopyMode属性和CopyRect方法,其中CopyMode定义拷贝的模式,而Copy Rect执行位图拷贝的操作。当CopyMode定义为缺省值cmSrcCopy时,CopyRect将源画布上的一部分位图拷贝到目标画布上的一个矩形区域内。调用BitBlt函数 这里涉及到了在Delphi中如何调用WindowsAPI。每当生成一个新的项目时,Delphi自动地把WinType和WinProcs单元名添加到所生成单元文件中的uses子句中,这两个单元包含了Delphi调用WindowsAPI所必须的类型定义和例程声明。这样,只需使用正确的参数就可以直接调用WindowsAPI,而不需要再作其它任何声明。BitBlt及类似的StretchBlt函数是Windows功能强大的图形处理函数,它的功能与TCanvas的CopyRect函数一样,不仅能够将位图或位图的一部分从一处拷贝到另一处,它还可以根据256个不同的光栅操作码将三幅位图结合起来,从而呈现不同的视觉效果。在WindowsAPI函数中,所有的blt函数的鼻祖都是BitBlt函数。unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;

文档评论(0)

lingyun51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档