ImageVerifierCode 换一换
格式:DOC , 页数:2 ,大小:112.50KB ,
资源ID:5967331      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-5967331.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(不透明方式填充.doc)为本站会员(HR专家)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

不透明方式填充.doc

1、多边形区域填充图案(一)不透明方式填充1.1.1 实验目的通过本次实验,使学生掌握如何生成一个二值图案以及将 该图案填充到对多边形区域中去。并能够较熟练使用 VC 编程实现。 1.1.2 实验内容1)绘制一个多边形区域 2)生成一个二值图案。 2)将一个生成好的 图案填充到多边形区域中去。1.1.3 实验原理在进行图案填充时,必须要确定区域与 图案之间的位置关系。这可以通过把图案原点与图形区中的某一点对齐的办法实现。对齐方法一般有两种:1)将图案原点与区域边界或内部某一点对齐。2)将图案原点与填充区域外部的某一点对齐。假设图案是一个 MN 的位图,用一个二维数组存放。 int patternM

2、N;为讨论方便,设填充区域为矩形区域,其左下角点的坐标为(x0,y0)。由于 图案应比区域小得多,所以我 们总可以将其设计成周期性的出现。假 设当前扫描线与填充区域的相交区 间上一象素坐标为(x,y)。1)在第一种对齐方式下,我们 可以用如下代码实现:m=(x-x0)%N;n=(y-y0)%M;if(patternmn)=1)putpixel(x,y,color);2)在第二种对齐方式下,我们 可以用如下代码实现:m=x%N;n=y%M;if(patternmn)=1)putpixel(x,y,color);注:1)因为填充区域本身的复杂性,所以从算法的复 杂性方面看,第二种对齐方式比第一种对

3、齐方式要简单。2)第一种对齐方式填充的图案,当填充区域移 动时也会一道移 动,看起来很自然;而第二种对齐方式就没有这个优点。3)在对相邻区域用同一种图案进行填充时,用第二种 对齐 方式可以做到无缝连接的效果。而第一种对齐方式则没有 这样的优点。区域填充图案有透明方式和非透明方式两种。透明方式可用如下代码实现:m=x%N;n=y%M;if(patternmn)=1)putpixel(x,y,color);而非透明方式可用如下代码实现:m=x%N;n=y%M;if(patternmn)=1)putpixel(x,y,color);else putpixel(x,y,bkcolor);1.4.4 实

4、验主要步骤(假设工程名为 bitfill.dsw)1、 打开头文件 bitfillview.h,在 CbitfillView 类中添加成员 数组。2、 打开 bitfillview.cpp 文件,在构造函数 CbitfillView( )中对数组 a 进行初始化从而生成一个二值位图。3、 在成员函数 OnDraw( )中添加代码。 实现按某一种方式填充。1.4.5 主要代码:1、 在文件 bitfillView.cpp 中定义如下外部数组。int a88=0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,1,1,1,1,0,0,0,1,0,0,1,0,0,0,0,1,

5、0,0,1,0,0,0,1,1,1,1,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0;2、 在成员函数 OnDraw( )中添加如下代码。int x,y,m,n;CPen p;p.CreatePen(PS_SOLID,2,RGB(100,100,100);CPen *poldpen=pDC-SelectObject(CBrush b;b.CreateSolidBrush(RGB(0,0,255);CBrush *poldbrush=pDC-SelectObject(pDC-Rectangle(100,100,300,300);pDC-Ellipse(150,150,350,350);for(y=101;ySetPixel(point,RGB(255,0,0);elsepDC-SetPixel(point,RGB(255,255,255);编译运行,结果如下。不透明方式填充

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报