【发布时间】:2012-03-31 18:43:35
【问题描述】:
对于一项任务,我需要用 Java 制作一个“洋娃娃”,您可以在其中移动它并旋转手臂和腿以做出有趣/酷炫的姿势。此外,腿应该能够伸展(但不能变宽,这很重要)。
我想要处理腿部拉伸的方式是反转对腿部所做的旋转,使其回到中立的直线位置,在 y 方向上缩放,然后重新执行旋转。然而,看起来缩放总是在 y 方向,所以一旦旋转,腿会变宽。只有当它被拉直并站立时,它才会看起来像它应该的样子。
我现在的代码如下所示:
leg.transform(AffineTransform.getRotateInstance(legAngle,pivot.getX(),pivot.getY()).createInverse());
leg.transform(AffineTransform.getScaleInstance(1,scaleFactor);
leg.transform(AffineTransform.getRotateInstance(legAngle,pivot.getX(),pivot.getY()));
如何确保旋转后缩放相对于图像保持不变?
【问题讨论】:
标签: java transform image-scaling