全图为原图的缩小
图片并非真的放大(图片真正意义上的放大会失真),而是截取原图的一部分显示
放大后的图片可拖动
package come.wang.picture1;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class MagnifyPicture {
/**
* 方法的用途:仿淘宝图片放大
*
* @param args
*/
private JFrame frame;
private TuPian panel1;
private TuPian2 panel2;
private String imageAddrs = "images\\1.jpg";
public MagnifyPicture() {
super();
frame = new JFrame("图片放大");
frame.setBounds(300, 200, 900, 600);
frame.setVisible(true);
int panel1Width = 300;
// imageAddrs 图片路径、600,宽、400,高、panel1Width小图宽,小图高是根据原图计算出来的。
panel2 = new TuPian2(400, 300);
panel1 = new TuPian(imageAddrs, panel1Width, panel2);
panel1.setLocation(20, 20);
panel2.setLocation(320, 20);
frame.setLayout(null);
frame.add(panel1);
frame.add(panel2);
frame.validate();
frame.repaint();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent arg0) {
System.exit(0);
}
});
}
public static void main(String[] args) {
new MagnifyPicture();
}
}
package come.wang.picture1;
import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMo