Visio-Shape-Daten hinzufügen, abrufen, kopieren und lesen
Hinzufügen einer neuen Form in Visio
Mit Aspose.Diagram for .NET können Sie Microsoft Visio Diagramme auf verschiedene Weise bearbeiten. Eines der Dinge, die Sie tun können, ist das Hinzufügen neuer Formen zu einem Diagramm. Mit Aspose.Diagram for .NET können Sie einer diagram eine neue Form hinzufügen. Die hinzugefügte Form kann auch mit Aspose.Diagram for .NET angepasst werden.
In diesem Thema wird beschrieben, wie Sie einer diagram eine neue rechteckige Form hinzufügen.
Verwenden Sie Aspose.Diagram for .NET API, um neue Formen zu erstellen, und fügen Sie diese Formen dann der Formensammlung von diagram hinzu.
So fügen Sie eine neue Form hinzu:
- Finde die Seite - Jede Visio diagram enthält eine Sammlung von Seiten. Entwickler können die Seite nach Seiten-ID oder Name abrufen und die erforderliche Seite in der speichernBuchseiteKlasse Objekt.
- Fügen Sie den erforderlichen Master einer Form hinzu - Jeder Visio diagram enthält eine Sammlung von Meistern. Entwickler können einen Master (nach ID oder Name) aus der vorhandenen Schablonendatei (über direkten Pfad oder Dateistream) hinzufügen.
- Fügen Sie Form in Visio diagram hinzu - Entwickler können eine neue Form im Visio diagram nach Seitenindex (beginnend bei 0), Hauptname, PinX, PinY, Höhe (optional) und Breite (optional) platzieren.
- Formeigenschaften festlegen - AddShape-Methode der Klasse Diagram gibt die Shape-ID zurück. Entwickler können die Form von Visio diagram abrufen, indem sie diese ID verwenden, und dann ihre Eigenschaften festlegen, z. B. Farbe, Position, Ausrichtung und Text.
Die Eingabe diagram |
Die diagram mit einer hinzugefügten Form |
---|
Programmierbeispiel hinzufügen
Das folgende Code-Snippet zeigt, wie die einzelnen Schritte ausgeführt werden.
Forminformationen abrufen
Arbeiten mit Diagrammenerklärt, wie man Diagramme erstellt, Formen und Verbinder hinzufügt und dann Informationen über diagram-Elemente wie zSeiten, Meister, Anschlüsse undSchriftarten. In diesem Artikel wird beschrieben, wie Sie Informationen zu Formen in einem diagram abrufen.
Jede Form in einem diagram hat eine ID und einen Namen. Die ID ist beim Programmieren mit Visio wichtig: Sie ist die Hauptmethode für den Zugriff auf eine Form. Jede Form enthält auch Informationen darüber, aus welchem Master (Schablone) sie besteht.
EINForm ist ein Objekt in einer Visio-Zeichnung. Die Shapes-Eigenschaft, die von der Page-Klasse verfügbar gemacht wird, unterstützt eine Sammlung von Aspose.Diagram.Shape-Objekten. Die Shapes-Eigenschaft kann verwendet werden, um Informationen zu einer Form abzurufen.
Im Konsolenfenster unten sehen Sie beispielsweise die Informationsausgabe für diagram, die vier Shapes enthielt: zwei Terminatoren, einen Prozess und einen dynamischen Konnektor. Jedes hat eine eindeutige ID sowie den Namen der Master-Form (Schablone).
Ein Konsolenfenster mit Shape-Informationen |
---|
So rufen Sie Visio-Seiteninformationen ab: |
- Lädt eine diagram.
- Richtet eine Foreach-Schleife ein, um alle Formen in diagram zu durchlaufen.
- Zeigt Forminformationen an.
Programmierbeispiel abrufen
Der folgende Codeabschnitt ruft die Forminformationen von Visio diagram ab.
Kopieren Sie Formen von einem vorhandenen Visio
Aspose.Diagram for .NET API ermöglicht es Entwicklern, Formen von der Quellseite Visio auf die neue Seite Visio diagram zu kopieren. Es unterstützt auch das Kopieren von Gruppenformen. Dieser Artikel beschreibt, wie Sie alle Shapes von der Quellseite diagram kopieren.
Um Formen zu kopieren, sollten Entwickler auch Quell-PageSheet- und Quell-Visio-Designs kopieren, um den Formfüllstil und andere Formatierungseigenschaften beizubehalten.
Dieses Beispiel funktioniert wie folgt:
- Laden Sie eine Quelle Visio.
- Initialisieren Sie eine neue Visio
- Fügen Sie Master und Themen aus der Quelle Visio hinzu.
- Rufen Sie die Seite von der Quelle Visio ab.
- Kopieren Sie sein PageSheet auf die neue Seite Visio.
- Iterieren Sie durch die Formen der Quellseite Visio.
- Legen Sie die neue ID fest und fügen Sie sie der neuen Seite Visio hinzu.
- Speichern Sie die neue Visio im lokalen Speicher.
Programmierbeispiel kopieren
Kopieren Sie eine Visio-Form in eine andere Forminstanz
Die Copy-Methode der Shape-Klasse nimmt eine Shape-Instanz zum Klonen.
// import diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
Shape newShape = new Shape();
// copy diagram
newShape.Copy(diagram.Pages[0].Shapes[0]);
newShape.ID = 3;
newShape.XForm.PinX.Value = 1;
newShape.XForm.PinY.Value = 1;
Lesen von Visio Formdaten
Die Props-Sammlung, die von der bereitgestellt wirdForm Klasse unterstützt dieAspose.Diagram.Prop Objekt. Die Eigenschaft kann verwendet werden, um die Daten einer Form (benutzerdefinierte Eigenschaften) zu lesen.
Lesen Sie alle Shape-Eigenschaften
So identifizieren Sie benutzerdefinierte Eigenschaften in Microsoft Visio:
- Klicken Sie in einem diagram mit der rechten Maustaste auf eine Form.
- AuswählenDaten , dannShape-Daten aus dem Menü. Alle vorhandenen Eigenschaften werden im Dialogfeld aufgelistet.
Die Daten einer Form, wie in Microsoft Visio zu sehen. | ** |
---|---|
Ein Konsolenfenster, das die Shape-Datenausgabe anzeigt. | ** |
---|---|
Programmierbeispiel lesen
Die folgenden Codeausschnitte lesen Formdaten (benutzerdefinierte Eigenschaften).
Lesen Sie eine Shape-Eigenschaft nach Namen
Das folgende Code-Snippet liest eine Shape-Eigenschaft nach Namen (benutzerdefinierte Eigenschaft).
Read by Name Programmierbeispiel
Lesen Sie VererbenProps of Shape
Das Code-Snippet unten liest InheritProps einer Form.
Visio Formen hinzufügen und verbinden
Aspose.Diagram for .NET ermöglicht es Ihnen, benutzerdefinierte Formen hinzuzufügen und zu verbindenDiagramme, die Sie erstellen.
Formen hinzufügen und verbinden
Der Code in den folgenden Beispielen zeigt, wie Sie:
- Erstellen Sie eine diagram.
- Fügen Sie Formen hinzu und passen Sie sie an (Rechteck, Stern, Sechseck).
- Verbinden Sie die Stern- und Sechseckformen mit dem Rechteck.
- Speichern Sie die diagram.
Formen hinzufügen und verbinden Programmierbeispiel
Verwenden Sie Verbindungsindizes, um Shapes zu verbinden
Aspose.Diagram for .NET API ermöglicht es Entwicklern bereits, neue Verbindungspunkte auf der Form hinzuzufügen, und Entwickler können jetzt Formen mithilfe von Verbindungsindizes verbinden.
Verwenden Sie Verbindungsindizes, um Shapes zu verbinden
Das ConnectShapesViaConnectorIndex-Member, das von verfügbar gemacht wirdBuchseite-Klasse kann verwendet werden, um Shapes mithilfe von Verbindungsindizes zu verbinden. Der folgende Code zeigt, wie Shapes verbunden werden:
- Initialisieren Sie eine neue Zeichnung.
- Platziere vier rechteckige Formen
- Fügen Sie zwei zusätzliche Verbindungspunkte hinzu, sodass sich auf der unteren Begrenzungslinie drei Verbindungspunkte befinden würden
- Verbinden Sie die erste Form von jeder unteren Verbindung mit anderen drei rechteckigen Formen von oben mit dynamischen Verbindern
- Zeichnung speichern
Verwenden Sie Verbindungsindizes, um Shapes zu verbinden Programmierbeispiel
Verwenden Sie den folgenden Code in Ihrer .NET-Anwendung, um Shapes mithilfe von Verbindungsindizes mit Aspose.Diagram for .NET API zu verbinden.
C#
// initialize a new drawing
Diagram diagram = new Diagram();
// get page by index
Aspose.Diagram.Page page = diagram.Pages[0];
// add masters
string connectorMaster = "Dynamic connector", rectangle = "Rectangle";
int pageNumber = 0;
double width = 2, height = 2, pinX = 4.25, pinY = 9.5;
diagram.AddMaster(@"C:\temp\Basic Shapes.vss", rectangle);
diagram.AddMaster(@"C:\temp\Basic Shapes.vss", connectorMaster);
// add shapes
long shape1_ID = diagram.AddShape(4.5, 7, rectangle, pageNumber);
long shape2_ID = diagram.AddShape(2.25, 4.5, rectangle, pageNumber);
long shape3_ID = diagram.AddShape(4.5, 4.5, rectangle, pageNumber);
long shape4_ID = diagram.AddShape(6.75, 4.5, rectangle, pageNumber);
// get shapes by ID
Aspose.Diagram.Shape shape1 = page.Shapes.GetShape(shape1_ID);
Aspose.Diagram.Shape shape2 = page.Shapes.GetShape(shape2_ID);
Aspose.Diagram.Shape shape3 = page.Shapes.GetShape(shape3_ID);
Aspose.Diagram.Shape shape4 = page.Shapes.GetShape(shape4_ID);
// add two more connection points
Connection connection1 = new Connection();
connection1.X.Ufe.F = "Width*0.33";
connection1.Y.Ufe.F = "Height*0";
Connection connection3 = new Connection();
connection3.X.Ufe.F = "Width*0.66";
connection3.Y.Ufe.F = "Height*0";
shape1.Connections.Add(connection1);
shape1.Connections.Add(connection3);
// add connector shapes
Aspose.Diagram.Shape connector1 = new Aspose.Diagram.Shape();
Aspose.Diagram.Shape connector2 = new Aspose.Diagram.Shape();
Aspose.Diagram.Shape connector3 = new Aspose.Diagram.Shape();
long connecter1Id = diagram.AddShape(connector1, connectorMaster, 0);
long connecter2Id = diagram.AddShape(connector2, connectorMaster, 0);
long connecter3Id = diagram.AddShape(connector3, connectorMaster, 0);
// connect shapes by index of conneecting points
page.ConnectShapesViaConnectorIndex(shape1.ID, 6, shape2.ID, 3, connecter1Id);
page.ConnectShapesViaConnectorIndex(shape1.ID, 1, shape3.ID, 3, connecter2Id);
page.ConnectShapesViaConnectorIndex(shape1.ID, 7, shape4.ID, 3, connecter3Id);
// save drawing
diagram.Save(@"C:\temp\Drawing1_out.vsdx", SaveFileFormat.VSDX);
Rufen Sie die übergeordnete Form einer untergeordneten Form ab
Aspose.Diagram for .NET ermöglicht Entwicklern das Abrufen der übergeordneten Form einer Unterform.
Holen Sie sich die übergeordnete Form
DasFormDie Klasse bietet die ParentShape-Eigenschaft zum Abrufen der übergeordneten Form.