gpt4 book ai didi

java - Graphics2D - 在 Graphics2D 对象上旋转形状

转载 作者:行者123 更新时间:2023-12-01 18:07:09 24 4
gpt4 key购买 nike

我有一个 Graphics2D 对象,用它在我的 Canvas 上绘图。我在 Canvas 上绘制了多个形状,并且只想变换其中一个(或部分)。

我会尽量保持简单:

void render(Graphics2D g) {
... // Draw shape 1
... // Draw shape 2
... // Draw shape 3
}

如何在保持形状 1 和 3 不变的情况下旋转形状 2? 我所说的“旋转”是指围绕其中心点旋转,我们可以将其定义为 xy 例如。

我一直在寻找一种方法来做到这一点,但找不到任何能按照我想要的方式工作的东西。

有什么简单的方法可以做到这一点吗?

最佳答案

不要围绕其中心点旋转形状,而是旋转然后平移 Canvas 。要围绕形状中心 (x, y) 旋转,请首先将 Canvas 平移 (-x, -y),然后旋转 Canvas - d 度并在 (0,0) 处正常绘制形状。

完成后,向后旋转,然后向后平移(请注意,对于这些几何变换,顺序很重要,平移然后旋转将给您带来完全不同的结果)。

这意味着您仍然可以以任意旋转方式绘制对象,而无需自己重新计算坐标。

关于java - Graphics2D - 在 Graphics2D 对象上旋转形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8313526/

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