文件的保存
我们在画图板上的所画的图形,是放在内存中的,就是说当我们把eclipse关掉时,我们花的图形会消失,因此我们需要把图形保存到文件中(放在外存中),那样就不丢失了。我们要用到的是基本文件输出与输入流的类即DataOutputStream和DataInputStream
他们有一个构造方法,就是DataOutputStream
(OutputStream out)
和DataInputStream(InputStream in)参数就是文件输入流(
FileInputStream)和文件输出流(
FileOutputStream)的对象。就把文件流包装成文件基本数据流。
这样我们就可以把我们的数据写到文件中了,在计算机中数据全是0 1 代码,或者说数字,我们保存文件的方法就是,把输出流中的数据以基本数据的类型保存起来,然后当我们再读文件的时候,就必须以相同的顺序,相同的方式读出来。
在画图板重绘时,我们用的是对列,我们现在也可以用队列来保存,首先我们存放的是形状的个数,即队列的大小;然后就是形状的类型,然后才是形状的属性。读的方法也一样。用队列来存储图形时,如果我们花的图形较多,那么无论还是写的时候都很耗费时间,如果形状的类型很多时,我们的代码也会增多。如果遇到我们未知或者不可描述的形状时,我们会一筹莫展。
另一种方法是,采用保存像素的方法。就是把一个图上面的每一个像素点保存起来,这样的话,保存的效率就只会和我们的画板的大小有关了,和我们所画的图形的形状 ,个数,没有关系了。这也就解决了上一种方法的弊端。
在这两种方法中我们会遇到一个问题就是,颜色怎样保存。颜色肯定是可以转化成数据的,而转换成数据的方法就是,在
java.awt.image。BufferedImage包的下面有getRGB (int,int)就是将某一位置的颜色 转换成数据,Color color = new Color(m)
就是 将数据转化为颜色的方法。
分享到:
相关推荐
基于缓存文件的消息队列是消息队列的消息保存在内存和缓存文件中,当内存中 的消息超过指定的数量后,把消息队列中的部分消息保存到一个或多个消息文件中。但是消息队列中的头部若干消息和尾部的若干消息始终保持在...
### C语言实现链式队列的基本操作 #### 一、链式队列简介 链式队列是一种基于链表的数据结构,它具有队列的基本特性,即先进先出(FIFO)。与数组实现的队列相比,链式队列能够更灵活地处理数据,特别是在动态变化...
### Java多线程加队列上传文件_后台处理 #### 概述 本文将详细介绍一个基于Java实现的多线程文件上传系统,并结合队列管理技术来优化后台处理流程。该系统通过创建多个线程来并行处理客户端的文件上传请求,同时...
在Java中,队列的实现主要有三种:顺序队列、链式队列和循环队列。下面我们将详细探讨这三种队列的实现方式。 1. **顺序队列**: 顺序队列通常是基于数组实现的。在Java中,我们可以使用ArrayList或LinkedList来...
在Android应用开发中,图片上传是一项...总之,实现一个高效的Android图片上传队列需要综合运用文件管理、队列数据结构、网络通信、服务、错误处理等技术,以确保在各种网络条件下,图片能正确、高效地上传到服务器。
本篇文章将深入探讨如何根据配置文件动态生成RabbitMQ的队列,并创建交换器以及相应的绑定关系。 首先,我们需要了解RabbitMQ的基本概念。队列(Queue)是消息的存储位置,交换器(Exchange)负责根据预设的规则...
XML(Extensible Markup Language)是一种用于标记数据的语言,它的设计...在提供的文件"XML1"中,可能包含了创建XML文档的示例代码,读者可以进一步学习如何实际编写XML文档,并了解如何在消息队列中使用这些文档。
队列中的每个元素代表一个待上传的图片文件。 5. **单个文件上传**:由于服务器只支持单个文件上传,Service需要编写一个方法来处理单个文件的上传。这个方法通常涉及HTTP请求,使用`HttpURLConnection`或第三方库...
《jQuery图片文件上传队列代码实现详解》 在现代网页应用中,用户常常需要上传图片或文件,这就涉及到了文件上传的功能。而“jQuery图片文件上传队列代码”则为开发者提供了一种高效的解决方案,它支持批量上传和...
此文档是C#开发的消息队列系统,适用于消息队列入门与新手。 在Windows 7 上安装消息队列的步骤 打开“控制面板”。 单击“程序”,然后在“程序和功能”下, 单击“打开或关闭 Windows 功能”。 -或者-单击“经典...
在这个场景中,我们关注的是使用SCL(Structured Control Language)编程语言实现的一种特定算法——循环队列FIFO(First In First Out)算法,并且这个算法被封装在了一个FB(Function Block)库文件中。...
### MQ入门实例详解:本地队列与远程队列操作 #### 概述 在消息队列(Message Queue,简称MQ)的学习过程中,理解和掌握本地队列与远程队列的使用是至关重要的。本地队列指的是在同一系统上创建并管理的消息队列,...
`queue_array.c` 和 `queue_array.h` 文件包含了顺序队列的实现。在C语言中,我们通常使用结构体来定义队列,包括存储队列元素的数组、队头和队尾的索引等信息。入队操作需要检查队列是否已满,而出队操作则需检查...
通过调用`GetDC`函数获取系统设备上下文(Device Context),然后使用`BitBlt`函数将屏幕内容复制到内存位图,最后再通过`CreateBitmap`和`SetDIBits`等函数创建并保存为BMP文件。整个过程涉及到Windows API的熟练...
在提供的文件`text3.cpp`中,很可能包含了队列建立和逆置的具体C++代码实现。而`实验1_2_2.exe`则可能是一个编译后的可执行程序,用于运行和测试这段代码。为了理解和学习这部分内容,你需要阅读源代码,理解其中的...
顺序队列和链式队列的实现 在计算机科学中,队列是一种重要的数据结构,广泛应用于多种领域。在本节中,我们将讨论顺序队列和链式队列的实现。 顺序队列 顺序队列是一种基于数组的队列实现方式。其主要特点是使用...
循环队列源代码 循环队列是一种数据结构,它通过一个数组或链表来存储元素,并提供了队列操作的接口。队列是一种先进先出的数据结构,元素的添加和删除都是从队头和队尾进行的。在本资源中,我们将探讨循环队列的...
`queue.c`通常包含了队列数据结构的定义和相关操作的实现,`use_q.c`是使用队列的示例程序,而`queue.h`则可能是包含队列接口的头文件,用于在其他文件中声明队列相关的函数和数据结构。 首先,让我们看看`queue.h`...
接下来,我们来看"源.cpp"文件,该文件利用两个循环队列来实现杨辉三角的打印。杨辉三角,又称帕斯卡三角,是一种二维的数字排列,其中每个数是其正上方两个数的和。在C++程序中,通常会使用两个队列来分别存储当...
8. **文档**:描述中提到的设计文档可能包括类图、序列图、使用说明等,这些都是软件开发过程中的重要组成部分,帮助理解和维护代码。 9. **版本控制**:虽然未明确提及,但通常这样的项目会使用Git进行版本控制,...