JAVA的rotate怎么用,java如何利用rotate旋转图片_如何在Java中旋转图形

144921

I have drawn some Graphics in a JPanel, like circles, rectangles, etc.

But I want to draw some Graphics rotated a specific degree amount, like a rotated ellipse. What should I do?

解决方案

If you are using plain Graphics, cast to Graphics2D first:

Graphics2D g2d = (Graphics2D)g;

To rotate an entire Graphics2D:

g2d.rotate(Math.toRadians(degrees));

//draw shape/image (will be rotated)

To reset the rotation (so you only rotate one thing):

AffineTransform old = g2d.getTransform();

g2d.rotate(Math.toRadians(degrees));

//draw shape/image (will be rotated)

g2d.setTransform(old);

//things you draw after here will not be rotated

Example:

class MyPanel extends JPanel {

@Override

public void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics2D g2d = (Graphics2D)g;

AffineTransform old = g2d.getTransform();

g2d.rotate(Math.toRadians(degrees));

//draw shape/image (will be rotated)

g2d.setTransform(old);

//things you draw after here will not be rotated

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388709.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

贝叶斯 朴素贝叶斯_手动执行贝叶斯分析

贝叶斯 朴素贝叶斯介绍 (Introduction) Bayesian analysis offers the possibility to get more insights from your data compared to the pure frequentist approach. In this post, I will walk you through a real life example of how a Bayesian analysis can be perform…

vs2005 vc++ 生成非托管的 不需要.net运行环境的exe程序方法

在VS2005里开发的VC程序在编译的时候,微软默认会加入自己的 .Net Framework (方便推广自家产品),让你的VC程序依赖它,这就导致程序编译后,无法跟往常一样直接打包,在别的机器就能正常运行。如果…

西工大java实验报告给,西工大数字集成电路实验 实验课6 加法器的设计

西工大数字集成电路实验练习六 加法器的设计一、使用与非门(NAND)、或非门(NOR)、非门(INV)等布尔逻辑器件实现下面的设计。1、仿照下图的全加器,实现一个N位的减法器。要求仿照图1画出N位减法器的结构。ABABABAB0123图1 四位逐位进位加法器的结构2、根据自己构造的…

DS二叉树--二叉树之数组存储

二叉树可以采用数组的方法进行存储,把数组中的数据依次自上而下,自左至右存储到二叉树结点中,一般二叉树与完全二叉树对比,比完全二叉树缺少的结点就在数组中用0来表示。,如下图所示 从上图可以看出,右边的是一颗普通的…

VS IIS Express 支持局域网访问

使用Visual Studio开发Web网页的时候有这样的情况:想要在调试模式下让局域网的其他设备进行访问,以便进行测试。虽然可以部署到服务器中,但是却无法进行调试,就算是注入进程进行调试也是无法达到自己的需求;所以只能在…

前复权后复权程序C# .net

if (win32apitest.MDIMain.SFSDA.FuQuan "前复权") { if (mytime DateTime.Parse("2009-04-29")) { //if (svalue 34.89) …

一天一个js知识

原型继承和class继承 class:js中并不存在类的概念,class只是语法糖,本质还是函数; 提升&暂时性死区 console.log(a)// ƒ a() {} var a8 function a(){} 复制代码 1、这里说明函数的提升要优先于变量的提升;函数提…

构建图像金字塔_我们如何通过转移学习构建易于使用的图像分割工具

构建图像金字塔Authors: Jenny Huang, Ian Hunt-Isaak, William Palmer作者: 黄珍妮 , 伊恩亨特伊萨克 , 威廉帕尔默 GitHub RepoGitHub回购 介绍 (Introduction) Training an image segmentation model on new images can be daunting, es…

PHP mongodb运用,MongoDB在PHP下的应用学习笔记

1、连接mongodb默认端口是:27017,因此我们连接mongodb:$mongodb new Mongo(localhost) 或者指定IP与端口 $mongodb new Mongo(192.168.127.1:27017) 端口可改变若mongodb开启认证,即--auth,则连接为: $mongodb new …

a标签

a标签定义超链接&#xff0c;用于从一张页面链接到另一张页面&#xff0c;它最重要的属性是 href 属性&#xff0c;它指示链接的目标。 <a href"http://www.w3school.com.cn">W3School</a> 最常用的就像这样添加一个链接&#xff0c;如果是点击事件的话&…

MFC程序执行过程剖析

一 MFC程序执行过程剖析 1&#xff09;我们知道在WIN32API程序当中&#xff0c;程序的入口为WinMain函数&#xff0c;在这个函数当中我们完成注册窗口类&#xff0c;创建窗口&#xff0c;进入消息循环&#xff0c;最后由操作系统根据发送到程序窗口的消息调用程序的窗口函数。而…

CF888E Maximum Subsequence(meet in the middle)

给一个数列和m&#xff0c;在数列任选若干个数&#xff0c;使得他们的和对m取模后最大&#xff08; \(1<n<35\) , \(1<m<10^{9}\)&#xff09; 考虑把数列分成两份&#xff0c;两边分别暴力求出所有的可能&#xff0c;那么对于一个数列中每一个数字\(x\)&#xff0…

virtualbox php mac,详解mac下通过docker搭建LEMP环境

在mac下通过docker搭建LEMP环境境1.安装virtualbox。由于docker是在lxc环境的容器2.安装boot2docker&#xff0c;用于与docker客户端通讯> brew update> brew install docker> brew install boot2docker3.初始化boot2docker&#xff0c;也就是在virtualbox上安装一个d…

SpringBoot项目打war包部署Tomcat教程

一、简介 正常来说SpringBoot项目就直接用jar包来启动&#xff0c;使用它内部的tomcat实现微服务&#xff0c;但有些时候可能有部署到外部tomcat的需求&#xff0c;本教程就讲解一下如何操作 二、修改pom.xml 将要部署的module的pom.xml文件<packaging>节点设置为war <…

在VS2005中使用添加变量向导十分的

在VS2005中使用添加变量向导十分的方便&#xff0c;但是如何手动添加呢。可以分为2步&#xff1a; 1. 在控件对应的类的头文件中添加相应的变量声明&#xff08;如&#xff1a;CString m_strResult&#xff09; 2. 在类的实现文件中的DoDataExchange(CDataExchange* pDX)函数…

关于如何使用xposed来hook微信软件

安卓端 难点有两个 收款码的生成和到帐监听需要源码加 2442982910转载于:https://www.cnblogs.com/ganchuanpu/p/10220705.html

GitHub动作简介

GitHub Actions can be a little confusing if you’re new to DevOps and the CI/CD world, so in this article, we’re going to explore some features and see what we can do using the tool.如果您是DevOps和CI / CD领域的新手&#xff0c;那么GitHub Actions可能会使您…

java returnaddress,JVM之数据类型

《Java虚拟机规范》阅读笔记-数据类型1.概述Java虚拟机的数据类型可分为两大类&#xff1a;原始类型(Primitive Types&#xff0c;也称为基本类型)和引用类型(Reference Types)。Java虚拟机用不同的字节码指令来操作不同的数据类型[1] 。2.原始类型原始类型是最基本的元素&…

C# matlab

编译环境&#xff1a;Microsoft Visual Studio 2008版本 9.0.21022.8 RTMMicrosoft .NET Framework版本 3.5已安装的版本: ProfessionalMicrosoft Visual Basic 2008 91986-031-5000002-60050Microsoft Visual Basic 2008Microsoft Visual C# 2008 91986-031-5000002-60050…

洛谷P3273 [SCOI2011] 棘手的操作 [左偏树]

题目传送门 棘手的操作 题目描述 有N个节点&#xff0c;标号从1到N&#xff0c;这N个节点一开始相互不连通。第i个节点的初始权值为a[i]&#xff0c;接下来有如下一些操作&#xff1a; U x y: 加一条边&#xff0c;连接第x个节点和第y个节点A1 x v: 将第x个节点的权值增加vA2 x…