关于图像

图像类Image

一些常见的方法

getImage(java.net.URL)  通过指定的地址获取图像对象

 

Jframe jf=new Jframe();

Image ii=jf.getToolkit().getImage(“C;\\hello.gif”);

其实,在程序开发的过程中,图像对我们来说十分重要,可以更好的美化我们的界面。一个成功的软件,其界面的美化程度,是十分重要的。

在上面的例子中,我们曾经举过一个关于窗口图标的例子,那就是图像在程序开发中应用的一个很好的例子。

下面,我们再来看几个例子:

源代码:

import java.awt.*;

import javax.swing.*;

 

public class DemoDrawImage extends JFrame

{

       Image myImage;

       String p_w_picpathNameOne=new String("happy.jpg");

       public DemoDrawImage()

       {

              myImage=Toolkit.getDefaultToolkit().getImage(p_w_picpathNameOne);

              this.setBounds(250,150,450,300);

              this.setTitle("Image应用示例");

              this.validate();

              this.setVisible(true);

              this.setDefaultCloseOperation(EXIT_ON_CLOSE);

             

       }

    public void paint(Graphics g)

    {

            g.drawImage(myImage,0,0,this);

            //g.dispose();

    }

       public static void main(String args[])

       {

              new DemoDrawImage();

       }

}

通过上面的这个例子,我们就可以学会怎样获得图像了。

 

下面,我们来看一个例子,学习怎样使用GifEncoder编码器的程序的功能开发

创建一个窗体,添加菜单,还有菜单项,过上面的学习,我们已经对java中的图像处理有了一定的了解了,但是这些还不是很足够,要想很好的应用,必须进行充分的练习。

窗体上还要有一个很大的Jlabel,来存放图片。

下面是源代码:

private GifEncoder encoder ;

        

 

    private JFileChooser fileChooser = new JFileChooser();

 

    private File selectFile = null;

 

    private File openedFile;

 

    private void openImageFile() {

        fileChooser.showOpenDialog(this);

        openedFile=fileChooser.getSelectedFile();

        if(openedFile==null)

            return;

        else{

            this.jLabelImage.setIcon(new ImageIcon(openedFile.getPath()));

           

        }

    }

 

    public void saveImageAsGif() {

        try{

            int saved=fileChooser.showSaveDialog(this);

            if(saved==JFileChooser.APPROVE_OPTION){

                if(this.openedFile !=null){

                    File saveFileName=fileChooser.getSelectedFile();

                    String fileName=new String(saveFileName.getPath()+".gif");

                    FileOutputStream fileOutPut=new FileOutputStream(fileName);

                    InputStream ins=new FileInputStream(this.openedFile.toString());

                    BufferedImage srcImage=ImageIO.read(ins);

                    encoder = new GifEncoder(srcImage, fileOutPut);

                    encoder.encode();

                    fileOutPut.flush();

                    fileOutPut.close();

                    ins.close();

                }

            }

           

        }catch(Exception ea){

            ea.printStackTrace();

        }

                           

   

    }

 

在相应的菜单项下添加相应的代码:

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {                                          

// TODO 将在此处添加您的处理代码:

        System.exit(0);

    }                                         

 

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                          

// TODO 将在此处添加您的处理代码:

        this.saveImageAsGif();

    }                                          

 

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                          

// TODO 将在此处添加您的处理代码:

        this.openImageFile();

    }               

 

在这个程序开发的最重要的环节,就是在“库”的位置上右击,添加JAR文件,然后选择路径,添加上openmap.jar的文件。