Travailler avec des calques

Configurer des objets de forme avec des calques dans Visio

Aspose.Diagram for .NET permet de configurer des objets de forme avec des calques dans Microsoft Office Visio diagram. Chaque forme peut appartenir à plusieurs calques afin que les développeurs puissent gérer les formes en fonction des besoins de l’utilisateur final. LaForme L’objet de classe offre la propriété LayerMember qui permet d’ajouter et de supprimer des objets de forme vers et depuis les calques dans le dessin Visio. Les utilisateurs peuvent gérer ces propriétés par programmation en utilisant Aspose.Diagram API comme suit :

Configurer l’exemple de programmation d’objets de forme

Le morceau de code suivant permet d’ajouter, de supprimer et de déplacer des propriétés d’objet de forme.

// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_Layers();
// Load a source Visio diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Get page by name
Page page = diagram.Pages.GetPage("Page-1");
// Iterate through the shapes
foreach (Aspose.Diagram.Shape shape in page.Shapes)
{
if (shape.Name.ToLower() == "shape1")
{
// Add shape1 in first two layers. Here "0;1" are indexes of the layers
LayerMem layer = shape.LayerMem;
layer.LayerMember.Value = "0;1";
}
else if (shape.Name.ToLower() == "shape2")
{
// Remove shape2 from all the layers
LayerMem layer = shape.LayerMem;
layer.LayerMember.Value = "";
}
else if (shape.Name.ToLower() == "shape3")
{
// Add shape3 in first layer. Here "0" is index of the first layer
LayerMem layer = shape.LayerMem;
layer.LayerMember.Value = "0";
}
}
// Save diagram
diagram.Save(dataDir + "ConfigureShapeLayers_out.vsdx", SaveFileFormat.VSDX);

Ajouter un nouveau calque dans le Visio Diagram

Aspose.Diagram for .NET permet aux développeurs d’ajouter de nouveaux calques pour organiser des catégories personnalisées de formes, puis d’attribuer des formes à ces calques par programmation. LaLayerCollection la classe propose la méthode Add qui permet d’ajouter un nouveauCouche dans le dessin Visio. Les développeurs peuvent définir les propriétés de la couche en initialisant son objet de classe.

Ajouter un exemple de programmation de couche

Le morceau de code suivant permet d’ajouter des objets Layer.

// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_Layers();
// Load source Visio diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Get Visio page
Aspose.Diagram.Page page = diagram.Pages.GetPage("Page-1");
// Initialize a new Layer class object
Layer layer = new Layer();
// Set Layer name
layer.Name.Value = "Layer1";
// Set Layer Visibility
layer.Visible.Value = BOOL.True;
// Set the color checkbox of Layer
layer.IsColorChecked = BOOL.True;
// Add Layer to the particular page sheet
page.PageSheet.Layers.Add(layer);
// Get shape by ID
Shape shape = page.Shapes.GetShape(3);
// Assign shape to this new Layer
shape.LayerMem.LayerMember.Value = layer.IX.ToString();
// Save diagram
diagram.Save(dataDir + "AddLayer_out.vsdx", SaveFileFormat.VSDX);

Récupérer toutes les couches du Visio Diagram

Aspose.Diagram for .NET donne accès aux développeurs pour obtenir les couches existantes d’un Visio diagram. LeFeuille de page propriété de laPage class permet de récupérer la liste des couches disponibles à partir d’un Visio diagram en utilisantLayerCollection classer.

Récupérer un exemple de programmation de calques

Le morceau de code suivant aide à obtenir la liste des couches.

// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_Layers();
// Load source Visio diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Get Visio page
Aspose.Diagram.Page page = diagram.Pages.GetPage("Page-1");
// Iterate through the layers
foreach (Layer layer in page.PageSheet.Layers)
{
Console.WriteLine("Name: " + layer.Name.Value);
Console.WriteLine("Visibility: " + layer.Visible.Value);
Console.WriteLine("Status: " + layer.Status.Value);
}