关于JAVA中的ImageIcon的一些问题

比如,我现在已经建立好了一个ImageIcon的实例对象,现在我想将这个实例对象,保存到D:/11/1.jpg,该怎样实现呢
比如:ImageIcon img = new ImageIcon(“d:/11/1.jpg”);
BufferedImage b_img= (BufferedImage) img.getImage();
ImageIO.write(b_img, "jpg", "d:/22/2.jpg");,你测试一下,用JOptionPane.showMessageDialog(null, img.geImage()),来测试一下,看输出的是不是图片,我输出的是一串符号

解答如下:
第一个问题:如何保存ImageIcon上的图片:
ImageIcon img = new ImageIcon("d:/11/1.jpg");
//直接从ImageIcon.getImage返回的并不是BufferedImage,不能直接转换
BufferedImage savedImage = new BufferedImage(img.getIconWidth(),
img.getIconHeight(),
BufferedImage.TYPE_3BYTE_BGR);
savedImage.createGraphics().drawImage(img.getImage(), 0, 0, null);
//这里不能使用你的那个路径,你如果想保存在别的目录下,首先应该建立这个目录
File file = new File("d:/2.jpg");
file.createNewFile();
//这里你的API使用不正确,第三个参数应该是File、 OutputStream或者ImageOutputStream
ImageIO.write(savedImage, "jpg", file);

第二个问题:输出一串符号
输出一串符号就对了,因为JOptionPane.showMessageDialog的第二个参数是message,就是现实的消息内容,如果你想加入一个图标,使用:

public static void showMessageDialog(Component parentComponent,
Object message,
String title,
int messageType,
Icon icon)
throws HeadlessException调出一个显示信息的对话框,为其指定了所有参数。

参数:
parentComponent - 确定在其中显示对话框的 Frame;如果为 null 或者 parentComponent 不具有 Frame,则使用默认的 Frame
message - 要显示的 Object
title - 对话框的标题字符串
messageType - 要显示的消息类型:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE
icon - 要在对话框中显示的图标,该图标可以帮助用户识别要显示的消息种类

有问题追问就行了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-12
比如实例对象为a,
imageicon a(D:/11/1.jpg)就行了追问

不是啊,我的意思是,已经实例化好了,我现在就想保存为一个图片文件

追答

说的就是啊,这样应该可以啊

追问

你这个仅仅是初始化啊,问题是我已经初始化好了啊

追答

初始化的同时也就保存了啊,大哥

追问

。。。。。。。。。。
比如,我的代码是:
ImageIcon img = new ImageIcon(“d:/11/1.jpg”);
我现在是想把Img输出到d:/22/2.jpg,目前img,仅仅是读取1.jpg,这个图片文件啊,应该用write方法,才可以写到文件中的啊,大哥

追答

你都明白了还问我啊,人啊不要总想着靠别人,尤其是我们做编程的……

追问

问题,我现在就是写不出来啊,比如,我现在给一个JLabel,设置了一个ImageIcon,现在我想通过,getImage()方法,获取图片,然后,再写入到文件d:/22/2.jpg中,这中间的细节,我弄不出来 ,特别是getImage()这个方法,获取不到图片

追答

哥们你别纠缠我了行吗,我刚学java都挂了,正伤心郁闷着呢,你放过我,好吗

追问

比如:ImageIcon img = new ImageIcon(“d:/11/1.jpg”);
BufferedImage b_img= (BufferedImage) img.getImage();
ImageIO.write(b_img, "jpg", "d:/22/2.jpg");,你测试一下,用JOptionPane.showMessageDialog(null, img.geImage()),来测试一下,看输出的是不是图片,我输出的是一串符号

追答

我给你分好吗,要多少,别再纠缠我了

第2个回答  2011-07-13
我给你查了java 1.5的JDK API,支持的格式有GIF、JPEG 或从 1.3 版本开始的 PNG格式,现在1.6版本不知道有没有新增什么格式。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网