用java画的图形怎么用数据结构来存储
发布网友
发布时间:2022-04-26 21:33
我来回答
共2个回答
热心网友
时间:2023-11-05 10:42
两种方案。一种保存坐标,打开的时候就是拿坐标数据来重新画出来,这个值适合线条不是特别多的图,否则会影响速度。
另外一种就是双缓冲,就是每在屏幕上画一笔,就把这一笔画到缓冲图上去,保存就可以直接保存缓冲图就可以了,但是这种没有保存线条数据,所以要是对图进行细致的处理就麻烦点了,可缓冲图在线条特别多的时候,速度影响不大。
你说的画图只显示一个的问题,我不知道你是用缓冲图来画图,还是直接在控件上画的。如果是直接画,你就要保存所有的画出来的图形数据,每次重画都要把以前画过的东西重新画一遍,如果你只画最后一次的那就只有最后一次的了。你可能就是出现的是这种错误吧。 如果不对图进行很细致的操作建议你缓冲图,只在缓冲图上画,然后把图贴上去,这个可能会有闪烁出来。当然也可以采用两个结合,保存用缓冲图,画则是直接画。
热心网友
时间:2023-11-05 10:42
两种方案。一种保存坐标,打开的时候就是拿坐标数据来重新画出来,这个值适合线条不是特别多的图,否则会影响速度。
另外一种就是双缓冲,就是每在屏幕上画一笔,就把这一笔画到缓冲图上去,保存就可以直接保存缓冲图就可以了,但是这种没有保存线条数据,所以要是对图进行细致的处理就麻烦点了,可缓冲图在线条特别多的时候,速度影响不大。
你说的画图只显示一个的问题,我不知道你是用缓冲图来画图,还是直接在控件上画的。如果是直接画,你就要保存所有的画出来的图形数据,每次重画都要把以前画过的东西重新画一遍,如果你只画最后一次的那就只有最后一次的了。你可能就是出现的是这种错误吧。 如果不对图进行很细致的操作建议你缓冲图,只在缓冲图上画,然后把图贴上去,这个可能会有闪烁出来。当然也可以采用两个结合,保存用缓冲图,画则是直接画。
热心网友
时间:2023-11-05 10:43
有二维的数据存储嘛,你只要把基本图型的构成变量存放在你规定的格式里,到时候自动调用就是啦,
abstract Shape getClip()
获取当前剪贴区域。
应该是这个哦,用Shape存储。
Shape 接口提供了表示一些几何形状的对象的定义。Shape 是由 PathIterator 对象描述的,它可以表示 Shape 的轮廓以及确定该轮廓如何将 2D 平面划分成内点和外点的规则。每个 Shape 对象都提供回调,以获取几何形状的边框,确定点或矩形是部分还是全部位于 Shape 内部,并检索一个描述 Shape 轮廓的轨迹路径的 PathIterator 对象。
热心网友
时间:2023-11-05 10:43
有二维的数据存储嘛,你只要把基本图型的构成变量存放在你规定的格式里,到时候自动调用就是啦,
abstract Shape getClip()
获取当前剪贴区域。
应该是这个哦,用Shape存储。
Shape 接口提供了表示一些几何形状的对象的定义。Shape 是由 PathIterator 对象描述的,它可以表示 Shape 的轮廓以及确定该轮廓如何将 2D 平面划分成内点和外点的规则。每个 Shape 对象都提供回调,以获取几何形状的边框,确定点或矩形是部分还是全部位于 Shape 内部,并检索一个描述 Shape 轮廓的轨迹路径的 PathIterator 对象。