关于画板项目的一点认识
首先我从四个方面来讲解这一个简易的画板,因为画板大家基本都用过,功能大概也是那些,所以我就不演示了。
1.首先从功能需求分析这个方面考虑,既然你是一个画板,那么你就要可以绘制图形,画板画板,重在画,当然能绘制图形也是整个画板的核心。像矩形,圆形之类的,你可以这样处理,鼠标按下的那个点和鼠标松开的那个点,你可以用向量vector来存储,vector里面存储点的信息,那么点是由坐标和是属于哪个图形的类型组成,当然还有颜色。
2.那么图像处理这一块,虽然你可以直接用java提供的画笔来绘图,当你尝试去改变图形状态的时候,你要去观察,怎么操作,简单点来说,像放缩这种改变状态,你要知道的也仅仅是坐标值的变化,当然旋转也是类似,我在处理这一块的时候,运用了一些简单定义标记的小技巧,比如说你可以设置常量来控制啊,或者在旋转处理的时候,你可以设置类似于倍数的常量来控制啊,在重绘的操作里面你可以设置一些flag来决定此时应该进行哪些操作啊,有很多吧。关于图像存储,在你绘制好图像后,BufferedImage这个类能更加方便的帮助你处理修改图片的属性。
3.关于界面美化方面,我有自己的想法,当然你要参照windows自带的画板,里面大部分界面还是比较容易实现的,这个界面也是主要分两块吧,一个是主功能区域,参照这个图,像这些工具的排版,各种控件颜色的变化和下拉式菜单栏的布局以及整体界面的缩放处理,像控件能自动随界面而变化。
4.在待完善处这一块,主要有一些具体实现代码上的差异,比如说,在我设计到对界面上图形清空处理的时候,我设想java会有界面clear类的方法,后面查了下资料,clear它可以去掉控件,当然这和我的意愿背道而驰,所以后来我就偷懒用覆盖来实现。在功能实现上,可能会有一些错误,补间动画这个功能暂时还没有实现,老实说,毕竟水平有限,另外在界面方面,像上面指出的美化界面,即布局方面仍然可以加以改进。
1.首先从功能需求分析这个方面考虑,既然你是一个画板,那么你就要可以绘制图形,画板画板,重在画,当然能绘制图形也是整个画板的核心。像矩形,圆形之类的,你可以这样处理,鼠标按下的那个点和鼠标松开的那个点,你可以用向量vector来存储,vector里面存储点的信息,那么点是由坐标和是属于哪个图形的类型组成,当然还有颜色。
2.那么图像处理这一块,虽然你可以直接用java提供的画笔来绘图,当你尝试去改变图形状态的时候,你要去观察,怎么操作,简单点来说,像放缩这种改变状态,你要知道的也仅仅是坐标值的变化,当然旋转也是类似,我在处理这一块的时候,运用了一些简单定义标记的小技巧,比如说你可以设置常量来控制啊,或者在旋转处理的时候,你可以设置类似于倍数的常量来控制啊,在重绘的操作里面你可以设置一些flag来决定此时应该进行哪些操作啊,有很多吧。关于图像存储,在你绘制好图像后,BufferedImage这个类能更加方便的帮助你处理修改图片的属性。
3.关于界面美化方面,我有自己的想法,当然你要参照windows自带的画板,里面大部分界面还是比较容易实现的,这个界面也是主要分两块吧,一个是主功能区域,参照这个图,像这些工具的排版,各种控件颜色的变化和下拉式菜单栏的布局以及整体界面的缩放处理,像控件能自动随界面而变化。
4.在待完善处这一块,主要有一些具体实现代码上的差异,比如说,在我设计到对界面上图形清空处理的时候,我设想java会有界面clear类的方法,后面查了下资料,clear它可以去掉控件,当然这和我的意愿背道而驰,所以后来我就偷懒用覆盖来实现。在功能实现上,可能会有一些错误,补间动画这个功能暂时还没有实现,老实说,毕竟水平有限,另外在界面方面,像上面指出的美化界面,即布局方面仍然可以加以改进。