猿问

在PPTX中绘制圆弧

我想使用Apache POI画一条弧线。为此,我还不清楚我需要设置用于绘制的点的API。


protected void draw(final XMLSlideShow ppt, final XSLFGroupShape containerGroupShape) {

    final XSLFFreeformShape shape = containerGroupShape.createFreeform();


    // Positioning

    double x = container.toPptX(pos.getX());

    double y = container.toPptY(pos.getY());

    double w = container.toPpt(pos.getW());

    double h = container.toPpt(pos.getH());


    // Set shape type & anchor

    shape.setShapeType(ShapeType.ARC);

    shape.setAnchor(new Rectangle2D.Double(x, y, w, h));


    shape.setFillColor(toAwtColor(fillColor));

    shape.setLineColor(toAwtColor(strokeColor));


    // Which API do I need here?

    Path2D.Double gp = new Path2D.Double();

    gp.moveTo(0, 0);

    gp.lineTo(10, 10);

    gp.closePath();

    shape.setPath(gp);

}

(注意:这是负责在pptx文件中创建圆弧的方法)


我知道Polygons使用Path2D.Double,但是这种方式不起作用(或者我的示例数据有误吗?)。我什至尝试查看VCS回购,但是我没有运气用弧形找到任何测试用例


有人知道弧数据(起始角度,弧长)是如何配置的吗?

为了避免将来造成混乱:

  • 我不知道如何描述曲线。我不只是通过2个点来描述曲线。

  • 上面的代码是我正在测试的示例,无法正常工作


隔江千里
浏览 183回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答