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

成果展示

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

这里写图片描述

这里写图片描述

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

这里写图片描述

这里写图片描述

这里写图片描述


总体架构

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

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

  • 类及接口的一览表
类名/接口名说明
utilsVector2f类表示一个二维向量的类,包含向量的一些运算操作,用于表示平面空间中一个点的位置
utilsMatrix3x3f类表示三维矩阵的类,包含矩阵的一些运算操作,用于平面中图形的变换操作
utilsFrameRate类计算帧速率的类
utilsFramework抽象类一个抽象的利用双缓冲策略的窗口框架
utilsSwingFramework抽象类一个使用Swing做绘制实现的窗口框架
utilsSafeKeyboardInput类一个安全的处理键盘输入的类
utilsRelativeMouseInput类一个可以切换相对/绝对鼠标模式的处理鼠标输入的类
utilsUtilty类处理坐标变换,图形绘制,文字绘制的工具类
elementImageElement抽象类所有可以绘制图形类的父类
elementPoints类一个包含一系列点的类
elementBeginEndImageElement抽象类一个可以选择起点和终点由拖动鼠标来形成的图形类
elementFillPolygon类填充多边形类
elementSimilarable接口可以进行快捷选择操作的图形,关于快捷选择操作,后面会有详细介绍
elementStringElement类绘制字符串的图形类
elementSaveImageElement类当前绘制图像被保存之后,添加此类表示当前图像已被保存
strategyStrategy抽象类所有绘制策略类的父类
strategyNullStrategy类一个不做任何处理的策略类
strategyPointsStrategy类处理绘制一系列点(Points类)的策略类
strategyBeginEndStrategy抽象类处理绘制可以选择起点和终点由拖动鼠标来形成的图形类(BeginEndImageElement抽象类)的策略类
strategyFillPolygon类处理绘制填充多边形类(FillPolygon类)的策略类
strategyStringStrategy类处理绘制字符串的图形类(StringElement类)的策略类
defaultEditor类主窗口类

更多:

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值