绘图板程序设计及其具体实现 第一篇

成果展示

首先展示几个使用本绘图板程序的绘图成果。

这里写图片描述

这里写图片描述

下面是程序的功能介绍(也是由本绘图板程序绘制的)。

这里写图片描述

这里写图片描述

这里写图片描述


总体架构

由三个包和一个主窗口类构成,utils包中为绘制图形中用到的所有工具类,element包中为所有的图形元素类,strategy包中为所有的绘图策略类。

大致的设计思想是,utils包中存储本程序中用到的所有工具,有绘图处理工具,输入处理工具,渲染处理工具;element包中存储所有需要绘制的图形元素;strategy包中存储所有所需的绘图策略;最后由一个主程序调用策略去执行图形元素的绘制。所有类的简要说明如下表。

  • 类及接口的一览表
类名/接口名 说明
utils Vector2f类 表示一个二维向量的类,包含向量的一些运算操作,用于表示平面空间中一个点的位置
utils Matrix3x3f类 表示三维矩阵的类,包含矩阵的一些运算操作,用于平面中图形的变换操作
utils FrameRate类 计算帧速率的类
utils Framework抽象类 一个抽象的利用双缓冲策略的窗口框架
utils SwingFramework抽象类 一个使用Swing做绘制实现的窗口框架
utils SafeKeyboardInput类 一个安全的处理键盘输入的类
utils RelativeMouseInput类 一个可以切换相对/绝对鼠标模式的处理鼠标输入的类
utils Utilty类 处理坐标变换,图形绘制,文字绘制的工具类
element ImageElement抽象类 所有可以绘制图形类的父类
element Points类 一个包含一系列点的类
element BeginEndImageElement抽象类 一个可以选择起点和终点由拖动鼠标来形成的图形类
element FillPolygon类 填充多边形类
element Similarable接口 可以进行快捷选择操作的图形,关于快捷选择操作,后面会有详细介绍
element StringElement类 绘制字符串的图形类
element SaveImageElement类 当前绘制图像被保存之后,添加此类表示当前图像已被保存
strategy Strategy抽象类 所有绘制策略类的父类
strategy NullStrategy类 一个不做任何处理的策略类
strategy PointsStrategy类 处理绘制一系列点(Points类)的策略类
strategy BeginEndStrategy抽象类 处理绘制可以选择起点和终点由拖动鼠标来形成的图形类(BeginEndImageElement抽象类)的策略类
strategy FillPolygon类 处理绘制填充多边形类(FillPolygon类)的策略类
strategy StringStrategy类 处理绘制字符串的图形类(StringElement类)的策略类
default Editor类 主窗口类

更多:

第一篇
第二篇
第三篇
第四篇
第五篇
第六篇
第七篇
源代码

猜你喜欢

转载自blog.csdn.net/qq_39384184/article/details/80594904
今日推荐