Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试围绕某个点缩放我在 Java 中拥有的形状。
当我使用 AffineTransform.scale 方法时,它会根据左上角进行缩放。无论如何都可以缩放锚定在一个点(比如这种情况下的窗口中心)。
谢谢,
泰
我同意 Hovercraft Full of Eels 的观点,正确的做法是将中心平移到左上角,缩放,然后将左上角平移回中心。
但是,如果您希望它在少于三个步骤中执行它,则转换为:
x ⟼ S(x – c) + c = Sx + (c – Sc),
其中 S 是缩放变换,c 是相对于左上角的坐标中心。
因此,您需要进行缩放,然后通过 c – Sc 进行翻译。