【发布时间】:2014-09-26 09:55:17
【问题描述】:
我对 Java 还是很陌生,并试图找到有关如何在框架中包含图片的信息。 有些图片尺寸合适,适合我的屏幕,但其他图片必须缩放才能适合我的屏幕。 到目前为止我得到了这个,有没有办法改进它并缩小图片?例如它现在的一半大小?我必须在代码中更改什么?
import java.awt.FlowLayout;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
class DisplayImage {
public static void main(String avg[]) throws IOException
{
DisplayImage img =new DisplayImage();
}
public DisplayImage() throws IOException
{
BufferedImage img=ImageIO.read(new File("C://Address.jpg"));
BufferedImage ret = new BufferedImage(32,32,BufferedImage.SCALE_FAST);
ret.getGraphics().drawImage(img,0,0,32,32,null);
ImageIcon icon=new ImageIcon(img);
JFrame frame=new JFrame();
frame.setLayout(new FlowLayout());
frame.setSize(200,300);
JLabel lbl=new JLabel();
lbl.setIcon(icon);
frame.add(lbl);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
【问题讨论】:
-
不完全清楚问题是什么,但是
new BufferedImage(32,32,BufferedImage.SCALE_FAST);错了:最后一个参数应该是图片的type,例如BufferedImage.TYPE_INT_ARGB。