Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用中心点(非左上角)绘制椭圆_Java_Graphics2d - Fatal编程技术网

Java 使用中心点(非左上角)绘制椭圆

Java 使用中心点(非左上角)绘制椭圆,java,graphics2d,Java,Graphics2d,我试图找到一种基于中心点绘制椭圆的解决方案,而不是像Ellipse2D.Double的构造函数中指定的那样基于左上角。如图所示,椭圆应该具有相同的中心点和比例,这有可能吗 提前感谢您的帮助。如果(x,y)是您要使用的中心,并且您只能指定左上角,请使用以下选项: private Ellipse2D getEllipseFromCenter(double x, double y, double width, double height) { double newX = x - width

我试图找到一种基于中心点绘制椭圆的解决方案,而不是像Ellipse2D.Double的构造函数中指定的那样基于左上角。如图所示,椭圆应该具有相同的中心点和比例,这有可能吗

提前感谢您的帮助。

如果
(x,y)
是您要使用的中心,并且您只能指定左上角,请使用以下选项:

private Ellipse2D getEllipseFromCenter(double x, double y, double width, double height)
{
    double newX = x - width / 2.0;
    double newY = y - height / 2.0;

    Ellipse2D ellipse = new Ellipse2D.Double(newX, newY, width, height);

    return ellipse;
}
如果使用中心点、宽度和高度调用,这将“变换”中心点到左上角,并创建一个
Ellipse2D
,它的位置与您想要的位置相同