锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

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

第二章 本研究内容的总体方案设计与技术选择论证


2.1 本研究内容的总体方案设计

本系统为了实现一个人机交互的数字化剪纸平台,将整个制作流程进行阶段划分,其中把关键的部分模块化。主要分为:纸型管理模块,图形设计模块,成果展示模块、其它辅助模块等几个模块。
纸型管理模块:是整个系统的核心模块之一,在本模块中不仅完成对纸张的大小、颜色、形状进行设置,还要设置对折剪纸前纸张的对折方式。其中,对折算法的设计是关键,本研究在建立对折模型时,总结纸张折叠后剪裁图形成像规律及确定折叠重合位置关键点。具体程序实现方法采用图像的镜像变换。
图形设计模块:本模块以绘图工具栏的形式来展现,通过基本图元按钮绘制剪纸图形元素。即:绘制直线、拆线、矩形、圆弧线、椭圆(圆)、扇形、多边形。并实现将选取的图形元素进行平移、旋转、镜像等简单编辑。
成果展示模块:显示纸张经过设计剪裁后展开的效果。通过人机交互的剪纸设计,能够使设计者在交互中体验到乐趣及成就感,让人们感受在数字技术时代下的新的剪纸艺术设计形式。
其它辅助模块:本模块包含基本的输入/输出及图形文件的存储与打印。

2.2 本研究内容的技术选择论证

  1. 1、本系统使用Visual C++ 6.0为开发工具进行设计实现。

Visual C++功能强大、操作界面友好,能放便快捷地实现各种功能。Visual C++是Windows环境下最主要的C++开发环境,它支持面向对象编程,并提供可视化编辑环境。
使用Visual C++中的向导功能,是帮助、引导用户工作的一个非常便捷的工具。在Visual C++中,用MFC AppWizard来创建一个Windows程序的基本框架结构,创建完应用程序框架后,可以使用类向导创建新的类、定义消息函数、覆盖虚函数、为控件添加变量等。Visual C++的Custom AppWizard允许用户自定义和修改用户创建工程的参数。
2、剪纸的图形绘制采用矢量图格式。
计算机中显示的图形一般可以分为两大类——矢量图和位图。矢量图使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的。例如一幅花的矢量图形实际上是由线段形成外框轮廓,由外框的颜色以及外框所封闭的颜色决定花显示出的颜色。由于矢量图形可通过公式计算获得,所以矢量图形文件体积一般较小。矢量图形最大的优点是无论放大、缩小或旋转等不会失真。Adobe公司的Freehand、Illustrator、Corel公司的CorelDRAW是众多矢量图形设计软件中的佼佼者。大名鼎鼎的Flash MX制作的动画也是矢量图形动画。
矢量图像,也称为面向对象的图像或绘图图像,在数学上定义为一系列由线连接的点。矢量文件中的图形元素称为对象。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。既然每个对象都是一个自成一体的实体,就可以在维持它原有清晰度和弯曲度的同时,多次移动和改变它的属性,而不会影响图例中的其它对象。这些特征使基于矢量的程序特别适用于图例和三维建模,因为它们通常要求能创建和操作单个对象。基于矢量的绘图同分辨率无关。这意味着它们可以按最高分辨率显示到输出设备上。
矢量图与位图最大的区别是,它不受分辨率的影响。因此在印刷时,可以任意放大或缩小图形而不会影响出图的清晰度。


第三章 本研究内容的需求分析


3.1 基于对折形式的剪纸艺术表现系统的功能分析

(一)背景
开发一个图形处理系统,能够绘制简单的图形并进行剪纸艺术表现。
(二)功能需求

  1. 纸型的设制。

即:纸张的形状:矩形
大小:可以设置具体数据,如:矩形的长宽。
颜色:可任设颜色

  1. 纸张的折叠。

对折:以纸张固定的底或左边线折叠。
不规则折叠:以任意轴线折叠—角度画的直线为折叠线
要求:用对话框设置折叠的方式(向X或Y轴折叠的次数)
窗口内显示折叠之后纸张的图形(形状)

  1. 绘制图形。

即:绘制直线、矩形、圆弧线、椭圆(圆)、多边形、拆线。
要求:在折叠后的纸张上绘制所需要的图形。

  1. 能将选取的图形进行平移、旋转、镜像等简单编辑。
  2. 将无用的图形区域在纸张中去除——指将剪纸设计过程中无用的部分剪掉。
  3. 显示纸张经过设计剪裁后的效果——即:展开后的效果。

3.2 系统总体框架结构分析

在应用程序越来越庞大的今天,在应用程序设计中保持良好的程序设计风格,建立良好的应用程序架构尤为重要。只有有了良好的程序架构,程序才能有良好的扩展性、可读性、可修改性、可维护性等。
本系统采用MFC支持的文档视图结构中的单文档界面SDI结构。文档管理存储数据和管理数据的打印,并协调多个数据视图,视图显示数据并管理用户与数据之间的交互,包括选择和编辑。MFC文档对象将数据读入或写入永久存储区。该文档还可能提供到数据所驻留的任何位置(如在数据库中)的接口。一个单独的视图对象可管理数据显示,包括从在窗口中呈现数据到用户选择和编辑数据。该视图从文档获取显示数据,并将任何数据更改传递回文档。
为了实现矢量图元的模型化处理,本系统合理组织了类层次图,把功能合理安排到图元类,图元工具类里,实现了图元的可操作性。图元类负责图元自己的处理,图元工具类负责图元和视图和文档之间的交互。
图元类层次图如下:
图元类层次图
CDrawObj是基类,里面封装了基本的属性和方法,基本的属性如位置,基本的方法如绘制Draw。
CDrawBlock代表实体块。
CDrawEllipse代表了点、圆、圆弧和椭圆。
CDrawGroup代表了组合图元。
CDrawPoly代表了线、矩形、三角形、多边形、开口折线和闭口折线。
CDrawText代表了文本。
CGifObj代表了像素图形。

图元工具类的类层次图如下:
图元工具类的类层次图
CDrawTool是基类。
CBlockTool是实体块处理工具。
CCopyTool是拷贝处理工具。
CEllipseTool是和CDrawEllipse对应的处理工具。
CImageTool是图形处理工具。
CPolyTool是和CDrawPoly对应的处理工具。
CTextTool是文本处理工具。

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