有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

enter image description here

提前感谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    如果(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,它的位置与您想要的位置相同