- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯
北 京 机 械 工 业 学 院 学 报
第 17卷 第 1期 Joumalo/BeijingInstituteotMachinexy .17 No1
2002年 3月 M且r.2002
文 章 编 号:1008—1658(2002)01—0006一O6
对矢量图形的组合拆分算法及编程实现
翟文国,佟俐鹃
(北京机械工业学院 计算机及 自动化系. 北京 100085)
摘 要 :组合拆分是编辑矢量图形不可缺少的操作,如何保证 图元的显示顺
序不被打乱.以及保证 整幅图开j的显示效果是一个很 关键的问题。利 用面向对 象的
方法 通过设计适当的类,将图形元素对象化,并且设计 了组合图元类 CComboDraw,
较好地实现 了对图元对象的组合拆分操作。论述了在 VC¨6.0环境下利用 MFC类
库对图元进行组合及拆分操作的算法和编程实现。另外,图开;元素经组合或拆分操
作后。图开;的显示顺序 (即图元的图层)会发生改变,为此 又给出了图形的显示算法和
编程 实现 。
关 键 词 :矢量图形;圈元;圈层
中图分类号:TP391 文献标识码:A
为了便于叙述。先作如下定义。
普通图元:矩形、圆、圆弧、位图图片等图形的基本元素。
组合图元:多个普通图元按照一定的层次结构组合而成的图元的集合体。
组合拆分是在编辑矢量图形过程中不可缺少的操作(如CorelDRAW 中的group[¨或 com—
bine命令),而有些矢量图形编辑软件在执行了多个组合拆分操作后,图元的显示(即图层)顺
序容易打乱(在 CorelDRAW 中执行group命令后的原来不相邻的图形元素都处在了相邻图层
上,图层顺序发生了改变),而这种显示顺序的打乱会严重影响整幅图形原来的显示效果,我们
在设计开发矢量图形编辑工具的过程中避免了这种情况的发生(除非执行了改变图层的命令,
否则图形元素的原始显示顺序不会发生改变),即组成组合图形的图形图层可 不相邻。本文
利用OOP技术 2【】,对图元进行对象化,将整幅矢量图形看成是一棵图元树.叶子即为图元对
象,非叶子节点为组合图元对象。每个组台图元对象可 看成一棵子树(如图1,2所示),以下
便是实现这种功能的算法和编程实现。
三妊组夸
二蛆姐 鲁
一 蛆纽夸 一④(@
圈l 图形的组合结构 圈2 图元的实际显示顺序
收祷日期:2001一l0—24
基叠项 目:雷束九五重点科技攻关项 目[项 目编号 {卵一956—03—02—02】
作者商升:翟文国(1974一).男,山东日照^.北京机械工业学院计算机及 自动化系研士研究生.主要从事圈形图像处理的研
究。
维普资讯
第 1期 翟文国等:对矢量图形的组舍拆分算法及编程实现 7
1 组合算法及编程实现
算法描述:创建组合图元对象,将选 中的图元 创建姐旮图元对象
添加到组合图元对象中;将文档中与选 中图元队列
连中羽无潘加到组合囤元对采
中图层号 (图层号可看成图元的唯一标识)对应的
图元去掉;最后将组合图元对象添加到文档中。算
从选中图元辟皋队 rj中取出一十图
法流程如图3所示。
文档评论(0)