锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 外包精品 / 外包精品 / 剪纸软件复杂矢量图形处理软件3
导航
上页
下页
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

第四章 本研究内容各部分的设计


剪纸是中国传统的手工艺术产品,它通过折叠纸张,对纸张的一小片进行剪裁,再展开到全部纸张面积上,并加以补充修正后,就可以形成具有意义的平面图形。补充修正的操作有添加,删除,沿某条直线再折叠和展开。
在计算机模拟处理时,折叠和展开是一种镜像操作,镜像需要折线。对于全纸张折叠和展开时,有多个平行的折线,对于补充时的不规则折叠展开,只有一个折线。
这里根据剪纸的实现,分四个部分进行描述,这四个部分为:基础平台、规则折叠、不规则折叠、剪纸图形编辑的介绍。通过这四个部分的介绍,大家会清楚研究思路和实现思路。

4.1 基础平台

4.1.1 坐标系

VC中的坐标系统分为逻辑坐标和设备坐标,逻辑坐标就是内存中虚拟的坐标,我们可以理解为看不见的,而设备坐标就是跟具体的设备相联系的坐标系统,如:显示器和打印机等。不同的映射模式决定了设备坐标和逻辑坐标之间的转换关系,也就是两种坐标系统在相互转换时,逻辑单位和设备单位之间的某种比例关系。这里需要说明的是:Windows中,只有对需要设备环境句柄作参数的GDI函数,映射方式才会起作用。
对于视口和窗口的概念比较的容易混淆,其实窗口和视口是与映射模式相关联的:映射方式就是用于从"窗口"(逻辑坐标)到"视口"(设备坐标)的映射。"视口"是基于设备坐标的,通常,视口与客户区相同;"窗口"是基于逻辑坐标的,逻辑坐标可以是像素、毫米、英寸等。
下面的公式是将窗口(逻辑)坐标转化为视口(设备)坐标: 
xViewport = (xWindow - xWinOrg)*xViewExt/xWinExt + xViewOrg
yViewport = (yWindow - yWinOrg)*yViewExt/yWinExt + yViewOrg
(xWindow,yWindow)是待转换的逻辑点,(xViewport,yViewport)是转换后的设备坐标。
设备坐标的视口原点(xViewOrg,yViewOrg)和逻辑坐标的窗口原点(xWinOrg,yWinOrg)默认情况下均被设置成(0,0),但具体情况下可以改变;(xWinExt,yWinExt)是逻辑坐标的窗口范围;(xViewExt,yViewExt)是设备坐标的窗口范围,在多数映射方式下,范围是映射方式所隐含的,不能改变。注意:每个范围自身没有什么意义,但是视口范围和窗口范围的比是逻辑单位转换为设备单位的换算因子。例如,对于MM_LOENGLISH模式,xViewExt/xWinExt 表示每0.01英寸(一个逻辑单位)中水平像素数。

客户区

客户区的坐标系指的就是上面的逻辑坐标系。

当前视图区

视图区坐标点是位于当前可看范围内的坐标点。在客户区坐标系和当前视图区之间有转换。

文档

文档坐标系以double类型来标注位置,表示更确切。

4.1.2 基础类

为了实现矢量图元的模型化处理,本软件合理组织了类层次图,把功能合理安排到图元类,图元工具类里,实现了图元的可操作性。图元类负责图元自己的处理,图元工具类负责图元和视图和文档之间的交互。
图元类层次图如下:
图元类层次图
CDrawObj是基类,里面封装了基本的属性和方法,基本的属性如位置,基本的方法如绘制Draw。
CDrawBlock代表实体块。
CDrawEllipse代表了点、圆、圆弧和椭圆。
CDrawGroup代表了组合图元。
CDrawPoly代表了线、矩形、三角形、多边形、开口折线和闭口折线。
CDrawText代表了文本。

CGifObj代表了像素图形。
友情链接
版权所有 Copyright(c)2004-2024 锐英源软件
统一社会信用代码:91410105098562502G 豫ICP备08007559号 最佳分辨率 1440*900
地址:郑州市金水区文化路97号郑州大学北区院内南门附近