JSlider实现缩放照片的大小

下面是代码,注释里都写了   ^_^
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;

public class ImageZoom extends JFrame
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Image ima;
	private JSlider jSlider;
	private int imgWidth,imgHeight;
	private MyCanvas canvas;
 	public ImageZoom()
	{
		super("绘制图片");
		ima=Toolkit.getDefaultToolkit().getImage("G:\\sourse\\flawer.jpg");//获取图片资源
		canvas = new MyCanvas();                //定义一个画板
		add(canvas);
		jSlider=new JSlider();                  //初始化一个滑块
		add(jSlider,BorderLayout.SOUTH);
		setBounds(50,50,600,600);
		setContentPane(getContentPane());       //设置面板内容
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			jSlider.setMaximum(1000);           //下面是对滑块的设置
			jSlider.setValue(100);
			jSlider.setMinimum(1);
			jSlider.addChangeListener(new javax.swing.event.ChangeListener()
					{
				public void stateChanged(ChangeEvent e)
				{
					canvas.repaint();            //重新绘制画板的内容
				}
					});
	}
	public static void main(String[] args)
	{
		new ImageZoom().setVisible(true);
	}
	class MyCanvas extends Canvas
	{
		/**
		 * 
		 */
		private static final long serialVersionUID = 1L;

		public void paint(Graphics g)
		{
			int newW=0,newH=0;
			imgWidth=ima.getWidth(this);             //获取图片的宽度
			imgHeight=ima.getHeight(this);
			float value=jSlider.getValue();          //滑块的取值
			newW=(int)(imgWidth*value/100);          //计算图片放大后的宽度
			newH=(int)(imgHeight*value/100);
			g.drawImage(ima,50,50,newW,newH,this);    //绘制指定大小的图片
		}
	}
}




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值