0
任何人都可以解释这一点,有3种方法可以创建Image对象,但只有最后一个对象(k)可以使用getscalledinstance()成功缩放。在java中使用getScaledInstance()缩小图像
public class scalingTest extends JPanel {
public static Image i;
public static Image j;
public static Image k;
scalingTest() throws IOException
{
i = Toolkit.getDefaultToolkit().getImage("C:/Users/Prashant/Desktop/2.png");
j = new ImageIcon("C:/Users/Prashant/Desktop/2.png").getImage();
k = ImageIO.read(new File("C:/Users/Prashant/Desktop/2.png"));
}
public static void main(String s[]) throws IOException
{
JFrame jf = new JFrame("Scaling TEST");
jf.add(new scalingTest());
jf.setSize(500, 500);
jf.setVisible(true);
}
@Override
public void paintComponent(Graphics g)
{
g.drawImage(i.getScaledInstance(100, 100, Image.SCALE_DEFAULT), 0, 0, this);
g.drawImage(j.getScaledInstance(100, 100, Image.SCALE_DEFAULT), 100, 100, this);
g.drawImage(k.getScaledInstance(100, 100, Image.SCALE_DEFAULT), 200, 200, this);
}
}
感谢兄弟,这是非常有帮助的 – 2012-07-27 17:21:46