0
我开始认为我只是无法看清明显。在使用Apache POI的PowerPoint幻灯片中的两点之间绘制一条线
给出以下代码,我想绘制一条从坐标[x1,y1]到[x2,y2]的直线。
int x1 = 20;
int y1 = 10;
int x2 = 30;
int y2 = 5;
XSLFSlide pptSlide = ...
XSLFAutoShape shape = pptSlide.createAutoShape();
shape.setShapeType(ShapeType.LINE);
shape.setAnchor(x1, y1, <width>, <height>);
从我所看到的在[X1,Y1]的锚开始但我必须输入的宽度和高度,而不是目标点的坐标线。但是,目标坐标的y分量小于如果开始坐标,所以我试图将高度设置为负值,这导致PowerPoint尝试打开生成的PPTX文档时出现错误(“PowerPoint发现内容有问题在文件out.pptx。“);
我很确定我只是忽略了这个明显的解决方案,所以任何人都可以帮我找出如何在文档中的一个点绘制一条线到另一个点?
使用你的代码的矩形开始在左上角X,Y:20,5和右下X结尾,Y:30,10。该行按照默认设置从左上到右下。所以这条线是从x,y:20,5到x,y:30,10。在你的代码之后放置一个'shape.setFlipVertical(true);'。然后翻转的线是从左下到右上。所以这条线是根据需要从x,y:20,10到x,y:30,5。 –
好点。我现在已经实现了。谢谢! –