gpt4 book ai didi

java - Graphics2D 旋转方法。有什么不同?

转载 作者:行者123 更新时间:2023-12-01 12:32:04 25 4
gpt4 key购买 nike

Java API 并没有很好地解释这一点,我仍然不确定。

这两个 Graphics2d 重载方法调用有什么区别?

public abstract void rotate(double theta)

public abstract void rotate(double theta,
double x,
double y)

Java 文档在这里:

http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics2D.html#translate%28int,%20int%29

我从文档中得到的是,第二个旋转方法会平移图形对象,旋转它,然后将其平移回来。我的困惑是,如果绘制图形已经被翻译回之前的原点,那么它应该放在哪里。

如果图形旋转,我可以离开之前的坐标系(原点位于 (0,0))并让所有内容最终都在我期望的位置吗?

我的目标是围绕图像的中心旋转图形(从而进行平移),然后旋转并重绘图像。之后,我想将图形重置回正常状态(或者干脆放弃该版本的图形?)。

预先感谢您的帮助。

最佳答案

如果我没记错的话,Graphics2D#rotate(double)围绕Graphics上下文的左上角/左上角旋转(基于它当前的转换),其中Graphics2D#rotate(double, double, double) 允许您定义 Graphics 上下文将围绕其旋转的 anchor 。有时候,你只需要尝试一下

关于java - Graphics2D 旋转方法。有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25860747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com