文件的保存 队列 山寨BMP

                              文件的保存

我们在画图板上的所画的图形,是放在内存中的,就是说当我们把eclipse关掉时,我们花的图形会消失,因此我们需要把图形保存到文件中(放在外存中),那样就不丢失了。我们要用到的是基本文件输出与输入流的类即DataOutputStreamDataInputStream

他们有一个构造方法,就是DataOutputStream(OutputStream out)DataInputStream(InputStream in)参数就是文件输入流(FileInputStream)和文件输出流(FileOutputStream)的对象。就把文件流包装成文件基本数据流。

   这样我们就可以把我们的数据写到文件中了,在计算机中数据全是0 1 代码,或者说数字,我们保存文件的方法就是,把输出流中的数据以基本数据的类型保存起来,然后当我们再读文件的时候,就必须以相同的顺序,相同的方式读出来。

在画图板重绘时,我们用的是对列,我们现在也可以用队列来保存,首先我们存放的是形状的个数,即队列的大小;然后就是形状的类型,然后才是形状的属性。读的方法也一样。用队列来存储图形时,如果我们花的图形较多,那么无论还是写的时候都很耗费时间,如果形状的类型很多时,我们的代码也会增多。如果遇到我们未知或者不可描述的形状时,我们会一筹莫展。

 另一种方法是,采用保存像素的方法。就是把一个图上面的每一个像素点保存起来,这样的话,保存的效率就只会和我们的画板的大小有关了,和我们所画的图形的形状 ,个数,没有关系了。这也就解决了上一种方法的弊端。

在这两种方法中我们会遇到一个问题就是,颜色怎样保存。颜色肯定是可以转化成数据的,而转换成数据的方法就是,在java.awt.imageBufferedImage包的下面有getRGB intint)就是将某一位置的颜色 转换成数据,Color color = new Color(m)

就是 将数据转化为颜色的方法。

 

你可能感兴趣的:(java,eclipse)