Java Applet显示存储在GIF文件中的图像

Java Applet常用来显示存储在GIF文件中的图像。Java Applet装载GIF图像非常简单,在Applet内使用图像文件时需定义Image对象。多数Java Applet使用的是GIF或JPEG格式的图像文件。Applet使用getImage方法把图像文件和Image对象联系起来。

Graphics类的drawImage方法用来显示Image对象。为了提高图像的显示效果,许多Applet都采用双缓冲技术:首先把图像装入内存,然后再显示在屏幕上。

Applet可通过imageUpdate方法测定一幅图像已经装了多少在内存中。

装载一幅图像

Java把图像也当做Image对象处理,所以装载图像时需首先定义Image对象,格式如下所示:

Image picture;

然后用getImage方法把Image对象和图像文件联系起来:

picture=getImage(getCodeBase(),"ImageFileName.GIF");  

getImage方法有两个参数。第一个参数是对getCodeBase方法的调用,该方法返回Applet的URL地址,如www.sun.com/Applet。第二个参数指定从URL装入的图像文件名。如果图文件位于Applet之下的某个子目录,文件名中则应包括相应的目录路径。

用getImage方法把图像装入后,Applet便可用Graphics类的drawImage方法显示图像,形式如下所示:

g.drawImage(Picture,x,y,this);

该drayImage方法的参数指明了待显示的图像、图像左上角的x坐标和y坐标以及this。

第四个参数的目的是指定一个实现ImageObServer接口的对象,即定义了imageUpdate方法的对象(该方法随后讨论)。

显示图像(ShowImage.java)

//源程序清单
import java.awt.*;
import java.applet.*;
public class ShowImage extends Applet
Image picure; //定义类型为Image的成员变量
public void init()
{
  picture=getImage(getCodeBase(),"Image.gif"); //装载图像
}
public void paint(Graphics g)
{
  g.drawImage(picture,0,0,this); //显示图像
}
}

为此,HTML文件中有关Applet的语句如下:

<HTML>
<TITLE>Show Image Applet</TITLE>
<APPLET
CODE="ShowImage.class" //class文件名为ShowImage.class
WIDTH=600
HEIGHT=400>
</APPLET>
</HTML>

编译之后运行该Applet时,图像不是一气呵成的。这是因为程序不是drawImage方法返回之前把图像完整地装入并显示的。与此相反,drawImage方法创建了一个线程,该线程与Applet的原有执行线程并发执行,它一边装入一边显示,从而产生了这种不连续现象。为了提高显示效果。许多Applet都采用图像双缓冲技术,即先把图像完整地装入内存然后再显示在屏幕上,这样可使图像的显示一气呵成。

时间: 2025-01-30 15:38:55

Java Applet显示存储在GIF文件中的图像的相关文章

Word 2010中不压缩文件中的图像

在Word 2010文档中,通过启用"不压缩文件中的图像"功能,可以实现最高的图片质量.不过启用该功能后可能会使Word文件变大.启用"不压缩文件中的图像"功能的步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件"→"选项"按钮,如图2012010805所示. 图2012010805 单击"选项"按钮 第2步,打开"Word选项"对话框,切换到"高级&quo

android-如何从 json 文件中根据图像名动态的获得图像?

问题描述 如何从 json 文件中根据图像名动态的获得图像? 我在json文件中储存了图像名,例如:""Image1.png"".我使 JSONParser 获得这个图像名,但是不能把图像显示在 ImageView 中. ImageView imageView = (ImageView)findViewById(R.id.imageViewer);for (int i = 0; i < posts.length(); i++) { JSONObject c =

android-在文件中保存图像的 byte 数组

问题描述 在文件中保存图像的 byte 数组 我使用下面的代码来获取一个 URL 文件的缩略图. MediaMetadataRetriever mmr = new MediaMetadataRetriever();mmr.setDataSource(URL);byte[] image = mmr.getEmbeddedPicture(); 我获得了缩略图的 byte 数组,然后我想把它保存为一个图像文件.如何实现? 解决方案 /** * 将图片写入到磁盘 * * @param img 图片数据流

Java实现显示指定类型的文件_java

文件作为存储数据的单元,会根据数据类型产生很多分类,也就是所谓的文件类型.在对数据文件进行操作时,常常需要根据不同的文件类型来作不同的处理.本实例实现的是读取文件夹指定类型的文件并显示到表格控件中.这对于项目开发中的文件分类起到了抛砖引玉的作用. 思路分析: 因为是窗体应用,首先看视图层.需要一个按钮控件JButton用来选择文件夹:需要一个标签控件JLabel用来显示选择的路径:需要一个标签控件JLabel提示用户输入什么:需要一个文本框控件JTextField供用户输入文件类型:需要一个表格

稀疏矩阵 压缩存储-将.off文件中的数据进行压缩存储,最好是做到与稀疏矩阵的压缩存储相关

问题描述 将.off文件中的数据进行压缩存储,最好是做到与稀疏矩阵的压缩存储相关 一个duck.off文件,327个点的坐标(x,y,z.double型数据),650个三角形连接信息.要求是把这些信息读入数组,并将这些数据进行压缩存储. 我想问的是:这些数据的压缩存储怎么样可以抽象成 稀 疏 矩 阵的压缩存储duck.off: OFF (文件格式为OFF) 327 650 0 (有327个顶点构成650个三角形) 539.697 -1035.28 317.708 (第一个顶点的xyz分量) ..

怎样使用java将其输入到txt文件中

问题描述 /********************************************************** * abcdefg * SUBSYSTEM NAME : ********** * SERVICE NAME : ********* * FUNCTION : ********* * FILE NAME : IcRegBean.java * * 1234 * 2010/12/21 **** @*** **********************************

vb.net 如何读取PDF文件中的图像。

问题描述 如题,我想用vb.net读取PDF文件中的一个图片,并在窗体上的图片框中显示出来.我的PDF文件里只有一张图片,别的什么都没有.新手求各位大侠帮忙..谢谢! 解决方案 解决方案二:有很多pdftoimage控件,有這樣的功能解决方案三:大侠,能传给我一个吗,我在网上没找到.ocx格式的,我想要OCX格式的,不用注册的.谢谢我的邮箱.zhichenShen@163.com

如何将服务器数据库的内容读取并存储到本地文件中?急!!!

问题描述 最近我想用asp.net做个小系统,这个小系统需要实现的功能:先从一台服务器的数据库中按照某一时间段如三天内的数据全部读取出来并存到本地机器上的某个文件或文件夹中,然后再从本地机器上将这些备份数据导入到另一个服务器的数据库中进行更新.希望高人指点,先谢过了! 解决方案 解决方案二:privatevoidPage_Load(objectsender,System.EventArgse){//创建文件stringfileName=System.IO.Path.Combine(Server.

c++-求教!通过内存映射,实现生成的数组存储到文件中,显示出来头100个数?

问题描述 求教!通过内存映射,实现生成的数组存储到文件中,显示出来头100个数? 我目前就了解个大概,现在我不明白const DWORD mmf_size = 512*1024;//?这个地方不懂 ,这个原来的代码部分,我拿别人的代码改的,增加了自己的double的动态数组SigNRead,这个怎么弄 我就想实现,通过内存映射 实现写入 读取 double数组 数组有 1列 90000行个double数组成. #include #include #include #include #define