getRotateInstance

import java.awt.Canvas; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Toolkit; import java.awt.geom.AffineTransform; import java.awt.geom.Line2D; import javax.swing.JFrame; /** * 返回表示旋转变换的变换。表示返回变换的矩阵是: [ cos(theta) -sin(theta) 0 ] [ sin(theta) cos(theta) 0 ] [ 0 0 1 ] 用正角度 theta 进行的旋转将 X 正半轴上的点向 Y 正半轴旋转。还要注意上文处理 90 度旋转的讨论。 参数: theta - 用弧度测量的旋转角度 返回: 使用指定旋转角度创建的、作为旋转变换的 AffineTransform 对象。 */ public class Draw2DRotate extends JFrame{ public Draw2DRotate(){ add("Center",new MyCanvas2()); setSize(400, 400); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { Draw2DRotate d2 = new Draw2DRotate(); } } class MyCanvas2 extends Canvas{ public void paint(Graphics g){ Graphics2D g2d = (Graphics2D)g; //rotate:旋转 循环 指定的原点和方向旋转 AffineTransform at = AffineTransform.getRotateInstance(Math.PI/16.0d); g2d.setTransform(at); Line2D.Double shape = new Line2D.Double(0.0,0.0,300.0,300.0);//一条线 g2d.draw(shape); g2d.setFont(new Font("Helvetica",Font.BOLD,24)); String text = "Java2s"; g2d.drawString(text, 300, 50);//画这个字 Toolkit toolkit = Toolkit.getDefaultToolkit();//获取默认工具包。 Image image = toolkit.getImage("E:\\java\\Test\\icon\\44.png"); g2d.drawImage(image, 100, 50, this); } }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值