कनेक्टर्स के साथ काम करना — Aspose.Slides FOSS for C++
कनेक्टर्स वे आकार हैं जो दृश्य रूप से दो अन्य आकारों को एक रेखा से जोड़ते हैं। Aspose.Slides FOSS for C++ मोड़े हुए, सीधी, और वक्र कनेक्टर्स का समर्थन करता है। किसी आकार पर कनेक्शन बिंदुओं की पहचान पूर्णांक द्वारा की जाती है। कनेक्शन साइट सूचकांक.
कनेक्शन साइट इंडेक्स
प्रत्येक आकार चार मानक कनेक्शन साइट्स प्रदान करता है:
| सूचकांक | पार्श्व |
|---|---|
0 | ऊपर |
1 | बाएँ |
2 | नीचे |
3 | दाएँ |
दो आकारों के बीच बेंट कनेक्टर जोड़ना
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/connector.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation pres;
auto& slide = pres.slides()[0];
// Create two shapes to connect
auto& box1 = slide.shapes().add_auto_shape(ShapeType::RECTANGLE, 50, 150, 150, 60);
box1.text_frame()->set_text("Start");
auto& box2 = slide.shapes().add_auto_shape(ShapeType::RECTANGLE, 400, 150, 150, 60);
box2.text_frame()->set_text("End");
// Add a bent connector (position/size are ignored once connected)
auto& conn = slide.shapes().add_connector(ShapeType::BENT_CONNECTOR3, 0, 0, 10, 10);
// Connect right side of box1 -> left side of box2
conn.set_start_shape_connected_to(&box1);
conn.set_start_shape_connection_site_index(3); // right
conn.set_end_shape_connected_to(&box2);
conn.set_end_shape_connection_site_index(1); // left
pres.save("connector.pptx", SaveFormat::PPTX);
return 0;
}कनेक्टर आकार प्रकार
| ShapeType | विवरण |
|---|---|
ShapeType::BENT_CONNECTOR3 | दो 90-डिग्री मोड़ (फ़्लोचार्ट-शैली के आरेखों के लिए सबसे सामान्य) |
ShapeType::BENT_CONNECTOR2 | एक 90-डिग्री मोड़ |
ShapeType::BENT_CONNECTOR4 | तीन 90-डिग्री मोड़ |
ShapeType::STRAIGHT_CONNECTOR1 | सीधी रेखा |
ShapeType::CURVED_CONNECTOR2 | एकल सुगम वक्र |
ShapeType::CURVED_CONNECTOR3 | दो मोड़ वाला वक्र |
टॉप-टू-बॉटम कनेक्शन
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/connector.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation pres;
auto& slide = pres.slides()[0];
auto& top = slide.shapes().add_auto_shape(ShapeType::RECTANGLE, 250, 80, 200, 60);
top.text_frame()->set_text("Decision");
auto& bottom = slide.shapes().add_auto_shape(ShapeType::RECTANGLE, 250, 300, 200, 60);
bottom.text_frame()->set_text("Action");
auto& conn = slide.shapes().add_connector(ShapeType::BENT_CONNECTOR3, 0, 0, 10, 10);
conn.set_start_shape_connected_to(&top);
conn.set_start_shape_connection_site_index(2); // bottom of top box
conn.set_end_shape_connected_to(&bottom);
conn.set_end_shape_connection_site_index(0); // top of bottom box
pres.save("vertical-connector.pptx", SaveFormat::PPTX);
return 0;
}एकाधिक कनेक्टर्स वाला फ्लोचार्ट
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/connector.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>
#include <string>
using namespace Aspose::Slides::Foss;
AutoShape& add_box(Slide& slide, const std::string& text, double x, double y,
double w = 160, double h = 50) {
auto& s = slide.shapes().add_auto_shape(ShapeType::RECTANGLE, x, y, w, h);
s.text_frame()->set_text(text);
return s;
}
void connect(Slide& slide, Shape& s1, int site1, Shape& s2, int site2) {
auto& conn = slide.shapes().add_connector(ShapeType::BENT_CONNECTOR3, 0, 0, 10, 10);
conn.set_start_shape_connected_to(&s1);
conn.set_start_shape_connection_site_index(site1);
conn.set_end_shape_connected_to(&s2);
conn.set_end_shape_connection_site_index(site2);
}
int main() {
Presentation pres;
auto& slide = pres.slides()[0];
auto& start = add_box(slide, "Start", 260, 60);
auto& process = add_box(slide, "Process Data", 260, 180);
auto& end = add_box(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)
pres.save("flowchart.pptx", SaveFormat::PPTX);
return 0;
}