关于图像
图像类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的文件。