Darbas su jungtukais — Aspose.Slides FOSS for Java
Jungtys yra formos, kurios vizualiai sujungia dvi kitas formas linija. Aspose.Slides FOSS for Java palaiko lenktas, tiesias ir kreivines jungtis. Jungimo taškai ant formos identifikuojami sveikais skaičiais jungimo vietų indeksai.
Jungties vietų indeksai
Kiekviena forma pateikia keturias standartines jungties vietas:
| Indeksas | Šonė |
|---|---|
0 | Viršus |
1 | Kairė |
2 | Apačia |
3 | Dešinė |
Lenkto jungtuko pridėjimas tarp dviejų formų
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
// Create two shapes to connect
var box1 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 150, 150, 60);
box1.addTextFrame("Start");
var box2 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 400, 150, 150, 60);
box2.addTextFrame("End");
// Add a bent connector (position/size are ignored once connected)
var conn = slide.getShapes().addConnector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10);
// Connect right side of box1 to left side of box2
conn.setStartShapeConnectedTo(box1);
conn.setStartShapeConnectionSiteIndex(3); // right
conn.setEndShapeConnectedTo(box2);
conn.setEndShapeConnectionSiteIndex(1); // left
prs.save("connector.pptx", SaveFormat.PPTX);
}Jungtuko formų tipai
| ShapeType | Aprašymas |
|---|---|
ShapeType.BENT_CONNECTOR3 | Du 90 laipsnių posūkiai (dažniausiai naudojami srauto diagramos stiliaus diagramoms) |
ShapeType.BENT_CONNECTOR2 | Vienas 90 laipsnių posūkis |
ShapeType.BENT_CONNECTOR4 | Trys 90 laipsnių posūkiai |
ShapeType.STRAIGHT_CONNECTOR1 | Tiesioginė tiesi linija |
ShapeType.CURVED_CONNECTOR2 | Viena glotni kreivė |
ShapeType.CURVED_CONNECTOR3 | Dvigubo posūkio kreivė |
Viršaus-žemyn jungtis
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var top = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 250, 80, 200, 60);
top.addTextFrame("Decision");
var bottom = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 250, 300, 200, 60);
bottom.addTextFrame("Action");
var conn = slide.getShapes().addConnector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10);
conn.setStartShapeConnectedTo(top);
conn.setStartShapeConnectionSiteIndex(2); // bottom of top box
conn.setEndShapeConnectedTo(bottom);
conn.setEndShapeConnectionSiteIndex(0); // top of bottom box
prs.save("vertical-connector.pptx", SaveFormat.PPTX);
}Srauto diagrama su keliais jungtukais
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ISlide;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var start = addBox(slide, "Start", 260, 60);
var process = addBox(slide, "Process Data", 260, 180);
var end = addBox(slide, "End", 260, 300);
connect(slide, start, 2, process, 0); // start -> process (bottom to top)
connect(slide, process, 2, end, 0); // process -> end (bottom to top)
prs.save("flowchart.pptx", SaveFormat.PPTX);
}
static IAutoShape addBox(ISlide slide, String text, float x, float y) {
var s = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, x, y, 160, 50);
s.addTextFrame(text);
return s;
}
static void connect(ISlide slide, IAutoShape s1, int site1, IAutoShape s2, int site2) {
var conn = slide.getShapes().addConnector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10);
conn.setStartShapeConnectedTo(s1);
conn.setStartShapeConnectionSiteIndex(site1);
conn.setEndShapeConnectedTo(s2);
conn.setEndShapeConnectionSiteIndex(site2);
}Jungtuko formatavimas
Jungtys palaiko tą patį getLineFormat() savybės kaip ir kitos formos:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.LineDashStyle;
import org.aspose.slides.foss.drawing.Color;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var box1 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 150, 150, 60);
var box2 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 400, 150, 150, 60);
var conn = slide.getShapes().addConnector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10);
conn.setStartShapeConnectedTo(box1);
conn.setStartShapeConnectionSiteIndex(3);
conn.setEndShapeConnectedTo(box2);
conn.setEndShapeConnectionSiteIndex(1);
// Style the connector line
conn.getLineFormat().setWidth(2.5);
conn.getLineFormat().setDashStyle(LineDashStyle.DASH);
conn.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.fromArgb(0, 0, 139));
prs.save("styled-connector.pptx", SaveFormat.PPTX);
}