如何设置 AffineTransform 旋转而不是剪切?
我在使用 Graphics2D 绘图时使用 AffineTransform。我在绘制形状之前用它来变换形状。 rx 和 ry 应该是旋转,但在绘制时,形状被剪切而不是旋转。如何强制轮换?我尝试使用默认构造函数,然后调用旋转、缩放和平移,但形状看起来一点也不像它们应该看起来的样子。
transform = new AffineTransform(sx, rx, ry, sy, tx, ty);
transform.createTransformedShape(shape); // Where shape is a GeneralPath instance
I use the AffineTransform when drawing with Graphics2D. I use it to transform a Shape before drawing it. rx and ry are supposed to be rotation but when drawing the shapes are sheared not rotated. How can I enforce rotation? I tried using the default constructor then calling the rotate, scale and translate but the shapes looked nothing like they're supposed to look.
transform = new AffineTransform(sx, rx, ry, sy, tx, ty);
transform.createTransformedShape(shape); // Where shape is a GeneralPath instance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
阅读对图像应用仿射变换一文。
您需要使用
rotate
方法以获得正确的旋转。Read Applying Affine Transformation to Images article.
You need to use
rotate
method to get correct rotation.您可以使用旋转方法,例如
You can use rotate method like