第六周-GUI及多媒体编程

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
		}
	}

运行结果:

猜你喜欢

转载自blog.csdn.net/u013899461/article/details/24009771
今日推荐