【例19.7】让照片围绕左上角点旋转
在主窗体中绘制3个旋转后的图像,每个图像的旋转角度值为5°
/*【例19.7】让照片围绕左上角点旋转
* 在主窗体中绘制3个旋转后的图像,
* 每个图像的旋转角度值为5°
* */
package draw;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Image;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
public class RotateImage extends JFrame{
private Image img;
class CanvasPanel extends JPanel {
@Override
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.rotate(Math.toRadians(5));
g2.drawImage(img, 70, 10, 300, 208, this);
g2.rotate(Math.toRadians(5));
g2.drawImage(img, 70, 10, 300, 208, this);
g2.rotate(Math.toRadians(5));
g2.drawImage(img, 70, 10, 300, 208, this);
}
}
public RotateImage() {
setTitle("图片旋转");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(100, 100, 500, 500);
try {
img = ImageIO.read(new File("E:\\BaiduNetdiskDownload\\2. TM(示例源码+习题答案)\\TM(示例源码+习题答案)\\sl\\19\\编程训练\\8\\cow.jpg"));
}catch(IOException e) {
e.printStackTrace();
}
add(new CanvasPanel());
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new RotateImage().setVisible(true);
}
}