版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013899461/article/details/24009771
/* 功能:图像的缩放
* 作者:林同学
*/
import java.awt.*;
import javax.swing.*;
public class ShowImgApp
{
public static void main(String[] args)
{
ImageFrame frame = new ImageFrame(); //新建图像面板
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true); //设置面板可视化
}
}
class ImageFrame extends JFrame
{
public ImageFrame()
{
setTitle("ShowImg");
setSize(700,600);
ImagePanel panel = new ImagePanel(); //将panel加入到Frame
Container contentPane = getContentPane();
contentPane.add(panel);
}
class ImagePanel extends JPanel
{
public ImagePanel()
{
image = Toolkit.getDefaultToolkit().getImage("img.gif");//得到文件名"img.gif"的图像文件
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image,1); //本地加载一幅图像
try
{
tracker.waitForID(1);
}
catch(InterruptedException exception){}
}
public void paintComponent(Graphics g) //调用paintComponent方法显示图像
{
super.paintComponents(g);
int w = image.getWidth(this); //获取原图像宽度
int h = image.getHeight(this); //获取原图像高度
g.drawImage(image,50,190,this); //原图显示
g.drawImage(image, 50, 10, w/2, h/2, this);//宽度、高度缩小一半显示
//g.drawImage(image, 5, 100, w*2, h*2, this);//宽度、高度放大一倍显示
}
private Image image;
}
}
运行结果: