网站大量收购独家精品文档,联系QQ:2885784924

程序设计实践 -预处理和EGG库幻灯片.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图形库函数EGG简介 DrawArc(2, 45, 90); 圆半径为2的圆可以有多个,但是画笔位置在圆周上角度为45的圆只有一个。画笔位置、圆半径以及角度唯一确定一个圆。 void yuan1(void) { EggStart(4,4); OffsetPen(4, -2);//相对移动 DrawArc(2,0,360); WaitForExit(); } void yuan1(void) { EggStart(4,4); OffsetPen(4, -1);//相对移动 DrawArc(2,0,360); WaitForExit(); } 画笔初始位置 void yuan1(void) { EggStart(4,4); OffsetPen(2,-2);//相对移动 DrawArc(2,0,360); WaitForExit(); } 图形库函数EGG简介 椭圆曲线 void DrawEllipticalArc(double rx, double ry, double dStart, double dSweep); 参数dStart和dSweep的含义与DrawArc完全相同。rx是该椭圆在x轴的半径,ry是在Y轴的半径。 图形库函数EGG简介 字符串 void DrawString(char* pString); 例如,要输出Hello World,使用如下代码:DrawString(Hello World); 字符串的左上角位于当前的画笔位置,输出后画笔位置移动到字符串的右上角。 Hello World 输出前画笔位置 输出后画笔位置 图形库函数EGG简介 贴图 Egg支持.bmp文件的贴图,使用下面函数: void DrawBitmap(char* lpszFilename); 参数是bmp文件名,例如要贴当前目录下的“beauty.bmp”文件,可以使用下面语句: DrawBitmap(beauty.bmp); 位图的左上角位于画笔当前位置,贴图后,画笔当前位置移动到位图的右上角。 图片 输出前画笔位置 输出后画笔位置 void yuan1(void) { EggStart(4,4); OffsetPen(2,-2); DrawArc(2,0,360); MovePen(2,2); DrawString(hello); DrawBitmap(pic.bmp); WaitForExit(); } 图形库函数EGG简介 画笔颜色和宽度 函数SetPen()改变画笔的颜色和宽度,从此都用指定的颜色和宽度绘画各种图形、文字,直到下次调用相关函数为止。 void SetPen(unsigned long color, double fWidth); fWidth是宽度,单位厘米。color是颜色,取值见具体宏定义。 如果只想单独改变颜色或宽度,可以调用void SetPenColor (unsigned long color) void SetPenWidth(double fWidth) 动画实现 盘子:白色窗口 egg:任何图形都是画在一个egg上,可以有多个egg,但每个egg都是相对独立的,可以绘画、移动任何一个egg,而不会影响其它的egg 。移动时只能以egg为单位进行移动,因此要一起移动的内容得画在同一个egg上。 egg的大小与调用EggStart()时指定的大小一致,并且覆盖整个盘子(盘子是Egg图形窗口的昵称),但它初始状态是透明的。 可以画多个egg,当两个蛋重合,后下的蛋会覆盖先下的蛋。使用ChangeEggLayer()可以改变egg的层次,调整互相之间的覆盖关系。 需要特别注意的是,在egg上绘画时,所采用的坐标系是每个egg自己的独立坐标,而不是盘子坐标。也就是说,绘画时,不需要考虑egg在盘子内的位置(egg会移动),egg自己的左下角永远是坐标原点。 如何下蛋: 每次调用LayEgg()都会生成一个新的egg,并把这个egg的句柄返回给你。 HEGG LayEgg(void); 执行完EggStart()后,便已经偷偷建立了一个egg,所有的绘图操作,都是在这个egg上进行的。当LayEgg()后,再执行绘图操作,就是在新的egg上绘图了。 如何设置活动蛋: 绘图和移动都是在活动蛋上进行的; 如果想回头在旧egg上绘图,可以使用 void SetActiveEgg(HEGG hEgg)函数 将旧的egg变成活动蛋 因此,需要把每次LayEgg()的返回值(egg的句柄)保存下来,从而将旧蛋变

文档评论(0)

love87421 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档