URL url1,url2;
url1=new URL("file:/d:/image/pic1.gif");
url2=new URL("http://abc.cde.edu.cn/Applet/pic2.jpg");
Image image1=getImage(url1):
Image image2=getImage(url2):
Image image3=getImage(getCodeBase(),"p1.jpg");    其中的getCodeBase()方法是返回相对路径,也就是说,你的网页文件现在在哪儿,那么它的返回值就是你的网页文件的这个位置。把图形文件读入内存中后,下一步,就是要将它显示出来了,用g.drawImage(image1,x,y,this)方法就可以了,x,y是图形显示的坐标点。如果要改变大小,可以用如下的显示方式。g.drawImage(image1,x,y,width,height,this);
g.drawImage(image1,x,y,width,height,Color.blue,this);

解决方案 »

  1.   

    呵呵,从一个教程里给你转贴点东东:
    图像文件的显示
        Graphics类中确实提供了不少绘制图形的方法,但如果用它们在applet运行过程中实时地绘制一幅较复杂的图形(例如一条活泼可爱的小狗),就好比是在用斧头和木块去制造航天飞机。因此,对于复杂图形,大部分都事先用专用的绘图软件绘制好,或者是用其它截取图像的工具(如扫描仪、视效卡等)获取图像的数据信息,再将它们按一定的格式存入图像文件。applet运行时,只要找到图像文件存贮的位置,将它装载到内存里,然后在适当的时机将它显示在屏幕上就可以了。1. 图像文件的装载
        Java目前所支持的图像文件格式只有两种,它们分别是GIF和JPEG格式(带有.GIF、
    .JPG、.JPEG后缀名的文件)。因此若是其它格式的图像文件,就先要将它们转换为这两
    种格式。能转换图像格式的软件有很多,如PhotoStyler等。
        Applet类中提供了getImage( )方法用来将准备好的图像文件装载到applet中,但我
    们必须首先指明图像文件所存贮的位置。由于Java语言是面向网络应用的,因此文件的存
    贮位置并不局限于本地机器的磁盘目录,而大部分情况是直接存取网络中Web服务器上的
    图像文件,因而,Java采用URL(Universal Resource Location,统一资源定位器)来定
    位图像文件的网络位置。因此,Java专门提供了URL类来管理URL信息(关于该类的详细介
    绍见下一章)。
        表示一个URL信息可分为两种形式:
        一种称为绝对URL形式,它指明了网络资源的全路径名。如:      绝对URL:“http://www.xyz.com/java/imgsample/images/m1.gif”    另一种称为相对URL形式,分别由基准URL(即base URL)再加上相对于基准URL下的
    相对URL这两部分组成,例如上面的例子可表示为:      基准URL:“http://www.xyz.com/java/imgsample/”
          相对URL:“images/m1.gif”    现在,我们可以来看一下getImage( )方法的调用格式了:      Image getImage(URL url) 
          Image getImage(URL url, String name)     我们可以发现,这两种调用格式的返回值都是Image对象。确实,Java特别提供了
    java.awt.Image类来管理与图像文件有关的信息,因此执行与图像文件有关的操作时不要
    忘了import这个类。getImage( )方法的第一种调用格式只需一个URL对象作为参数,这便
    是绝对URL。而后一种格式则带有两个参数,第一个参数给出的URL对象是基准URL,第二
    个参数是字符串类型,它描述了相对于基准URL下的路径和文件名信息,因此这两个参数
    的内容综合在一起就构成了一个绝对URL。例如,下面两种写法所返回的结果是一样的:      Image img=getImage(new URL("http://www.xyz.com/java/imgsample/images/m1.gif");
          Image img=getImage(new URL("http://www.xyz.com/java/imgsample/"),"images/m1.gif");    表面看来,好象第一种调用格式较方便一些,但实际上第二种调用格式用得更普遍,
    因为这种格式更具灵活性。原来,Applet类中提供了两个方法来帮助我们方便地获取基准
    URL对象,它们的调用格式如下:      URL getDocumentBase( ) 
          URL getCodeBase( )     其中getDocumentBase( )方法返回的基准URL对象代表了包含该applet的HTML文件所
    处的目录,例如该文件存贮在"http://www.xyz.com/java/imgsample/m1.html"中,则该
    方法就返回"http://www.xyz.com/java/imgsample/"路径。而getCodeBase( )方法返回的
    基准URL对象代表了该applet文件(.class文件)所处的目录。它是根据HTML文件的"APPLET"
    标记中的CODEBASE属性值计算出来的,若该属性没有设置,则同样返回该HTML文件所处的
    目录。
        好了,现在我们应该可以感受到基准URL的灵活性了吧。只要我们写下语句:      Image img = getImage(getDocumentBase( ),"images/m1.gif");    那么即使整个imgsample目录移到别处任何地方,也可以正确装载图像文件,而采用
    对于绝对URL形式则需要重新修改applet代码并重新编译。2. 图像文件的显示
        getImage( )方法仅仅是将图像文件从网络上装载进来,交由Image对象管理。那我们
    怎样把得到的Image对象中的图像显示在屏幕上呢?这又要回到我们的老朋友Graphics类
    中来了,因为Graphics类提供了一个drawImage( )方法,它能完成将Image对象中的图像
    显示在屏幕的特定位置上,就象显示文本一样方便。drawImage( )方法的调用格式如下:
          boolean drawImage(Image img, int x, int y, ImageObserver observer)
        其中img参数就是要显示的Image对象。x和y参数是该图像左上角的坐标值。observer
    参数则是一个ImageObserver接口(interface),它用来跟踪图像文件装载是否已经完成
    的情况,通常我们都将该参数置为this,即传递本对象的引用去实现这个接口。
        除了将图像文件照原样输出以外,drawImage( )方法的另外一种调用格式还能指定图
    像显示的区域大小:      boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)     这种格式比第一种格式多了两个参数width和height,即表示图像显示的宽度和高度
    。若实际图像的宽度和高度与这两个参数值不一样时,Java系统会自动将它进行缩放,以
    适合我们所定的矩形区域。
        有时,我们为了不使图像因缩放而变形失真,可以将原图的宽和高均按相同的比例进
    行缩小或放大。那么怎样知道原图的大小呢?只需调用Image类中的两个方法就可以分别
    得到原图的宽度和高度。它们的调用格式如下:      int getWidth(ImageObserver observer)
          int getHeight(ImageObserver observer)    同drawImage( )方法一样,我们通常用this作为observer的参数值。
        下面的程序段给出了一个显示图像文件的例子,其显示结果如图4-14所示。import java.awt.Graphics;
    import java.awt.Image;
    public class Images extends java.applet.Applet{
        Image img;
    public void init(){
    img=getImage(getCodeBase(),"man.gif");
    }
    public void paint(Graphics g){
    int w=img.getWidth(this);
    int h=img.getHeight(this);
    g.drawImage(img,20,10,this); //原图
    g.drawImage(img,200,10,w/2,h/2,this); //缩小一半
    g.drawImage(img,20,200,w*2,h/3,this); //宽扁图
    g.drawImage(img,350,10,w/2,h*2,this); //瘦高图
    }
    }
      

  2.   

    哇上面两位,给了这么多啊?其实,先知道怎么获取图片,怎么画图片就够了。而后自己再慢慢看资料吧!
         ......
         Image a;
         a = getImage(getCodeBase(),"hi.jpg");
         ......
         g.drawImage(a,10,10,this);