以一定角度绘制矩形

  • 本文关键字:绘制 java graphics
  • 更新时间 :
  • 英文 :


Java中的方法是什么,绘制矩形给定以下内容:

  • 广场中心的坐标
  • 矩形从垂直方向的角度,程度

以建议使用类AffineTransform的方式绘制矩形。该类可用于以各种方式改变形状。进行旋转使用:

int x = 200;
int y = 100;
int width = 50;
int height = 30;
double theta = Math.toRadians(45);
// create rect centred on the point we want to rotate it about
Rectangle2D rect = new Rectangle2D.Double(-width/2., -height/2., width, height);
AffineTransform transform = new AffineTransform();
transform.rotate(theta);
transform.translate(x, y); 
// it's been while, you might have to perform the rotation and translate in the
// opposite order
Shape rotatedRect = transform.createTransformedShape(rect);
Graphics2D graphics = ...; // get it from whatever you're drawing to
graphics.draw(rotatedRect);

对于第一个点,您可以使用距离公式来找出正方形中心的坐标,(int)Math.sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2));它们除以2。我对Java抽签不太了解,无法根据您的问题为您提供更好的答案,但我希望有帮助。

在第二个,您只需要创建一个多边形吗?

相关内容

  • 没有找到相关文章

最新更新