Java 图片的旋转

package expression;

import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;

import javax.naming.InitialContext;
import javax.swing.ImageIcon;
import javax.swing.JFrame;

import org.omg.CORBA.PUBLIC_MEMBER;

public class Text extends JFrame{
	private  int num = 0;
	public  Text(){
	init();//初始化方法
	}
	private void init(){
		setBounds(200, 200, 500, 500);
		setVisible(true);
		setTitle("图片旋转");
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		mycanvas canvas = new mycanvas();
		add(canvas);
		canvas.addMouseListener(new MouseListener() {//添加鼠标监听 点击变成动态
			
			@Override
			public void mouseReleased(MouseEvent e) {
				// TODO Auto-generated method stub
			
			}
			
			@Override
			public void mousePressed(MouseEvent e) {
				// TODO Auto-generated method stub
			
			}
			
			@Override
			public void mouseExited(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void mouseEntered(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void mouseClicked(MouseEvent e) {
				// TODO Auto-generated method stub
				num++;
				canvas.repaint();//不要忘了重绘
			}
		});
		
	}
	public static void main(String[] args) {
		new Text().setVisible(true);
	}
	
	class mycanvas extends Canvas{//内部类
		
	 public void paint(Graphics g){
		 Graphics2D g2 = (Graphics2D) g;
		 Image image = new ImageIcon("src/ycy.jpg").getImage();//获取图片资源
		 g2.rotate(Math.toRadians(num));//参数:弧度  Math.toRandians角度转弧度
		 //旋转图片 Graphics2D 独有方法
		 g2.drawImage(image, 100, 100, this);//绘制图像
		
	}


 }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券