Ustalarla Çalışmak
Ana Bilgileri Alma
Bir şekil ustası, Visio şablonunun başka bir adıdır. Aspose.Diagram ile sayfalar, konektörler ve ayrıca master’lar hakkında bilgi almak mümkündür. Bu makalede, bir diagram numaralı telefondan kimliğin ve adın nasıl alınacağı açıklanmaktadır.
buUsta nesne temsil ederŞekil diagram’de nesnenin yöneticisi. Diagram sınıfı tarafından sunulan Masters özelliği, Aspose.Diagram.Master nesnelerinin bir koleksiyonunu destekler. Bu özellik, ana kimliği ve adı olan ana bilgileri almak için kullanılabilir. Ana şekil tarafından hangi şeklin devralındığını belirlemek için Page.Shapes özelliğini kullanın.
Ana Bilgi Programlama Örneğinin Alınması
Aşağıdaki kod parçası, bir diagram’den ana bilgileri alır.
// 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_Master(); | |
// Call a Diagram class constructor to load the VDX diagram | |
Diagram vdxDiagram = new Diagram(dataDir + "RetrieveMasterInfo.vdx"); | |
foreach (Aspose.Diagram.Master master in vdxDiagram.Masters) | |
{ | |
// Display information about the masters | |
Console.WriteLine("\nMaster ID : " + master.ID); | |
Console.WriteLine("Master Name : " + master.Name); | |
} | |
Console.ReadLine(); |
Şekiller Şablonundan Master Ekleme
Şablon, belirli bir Microsoft Office Visio şablonuyla ilişkili bir şekil koleksiyonudur. Aspose.Diagram ile bir şablondan bir çizime herhangi bir ana şekil eklemek mümkündür.
Usta Ekle
buUsta nesne temsil ederŞekil diagram’de nesnenin yöneticisi. Diagram sınıfı tarafından sunulan AddMaster yöntemi, bir şablondan bir ana öğe eklenmesine izin verir. Aşağıdaki dört yolu sunar:
- Şablon dosyası yolu ve ana kimlik.
- Şablon dosyası yolu ve ana adı.
- Şablon dosyası akışı ve ana kimlik.
- Şablon dosyası akışı ve ana ad.
- diagram kaynağından diagram’e master ekleyin
Ana Programlama Örneği Ekle
// 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_Master(); | |
// Load diagram | |
Diagram diagram = new Diagram(); | |
// Load stencil to a stream | |
string templateFileName = dataDir + "NetApp-FAS-series.vss"; | |
Stream stream = new FileStream(templateFileName, FileMode.Open); | |
// Add master with stencil file path and master id | |
string masterName = "FAS80xx rear empty"; | |
diagram.AddMaster(templateFileName, 2); | |
// Add master with stencil file path and master name | |
diagram.AddMaster(templateFileName, masterName); | |
// Add master with stencil file stream and master id | |
diagram.AddMaster(stream, 2); | |
// Adds master to diagram from source diagram | |
Diagram src = new Diagram(templateFileName); | |
diagram.AddMaster(src, masterName); | |
// Add master with stencil file stream and master id | |
diagram.AddMaster(stream, masterName); | |
// Adds shape with defined PinX and PinY. | |
diagram.AddShape(2.0, 2.0, masterName, 0); | |
diagram.AddShape(6.0, 6.0, masterName, 0); | |
// Adds shape with defined PinX,PinY,Width and Height. | |
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0); |
Sıfırdan Usta Oluştur
Aspose.Diagram API oluşturmaya izin verirUsta herhangi bir şablon, çizim veya şablon olmadan sıfırdan. Geliştiriciler, Master’ın oluşturulmasını özelleştirebilir. Diagram sınıfı tarafından sunulan AddMaster yöntemi, bir ana öğe eklenmesine izin verir.
Ana Programlama Örneği Oluşturma
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-.NET | |
public static void Run() | |
{ | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_LoadSaveConvert(); | |
// Create a new template | |
Diagram diagram = new Diagram(); | |
// Add master | |
diagram.Masters.Add(CreateMaster(101, "Regular", dataDir + "aspose-logo.jpg")); | |
// Save template | |
diagram.Save(dataDir + "CreateMasterFromScratch_out.vtx", SaveFileFormat.VTX); | |
} | |
// Create master | |
public static Master CreateMaster(int masterId, string name, string masterImage) | |
{ | |
// Set master properties | |
Master master = new Master(); | |
master.ID = masterId; | |
master.Name = name; | |
master.IconSize = IconSizeValue.Normal; | |
master.AlignName = AlignNameValue.AlignTextCenter; | |
master.MatchByName = BOOL.True; | |
master.IconUpdate = BOOL.True; | |
master.UniqueID = Guid.NewGuid(); | |
master.BaseID = Guid.NewGuid(); | |
master.PatternFlags = 1; | |
master.Hidden = BOOL.False; | |
// Set master's shape properties | |
Shape shape = new Shape(); | |
master.Shapes.Add(shape); | |
double width = 0.5443889263424177; | |
double height = 0.432916947568133; | |
shape.ID = 5; | |
shape.Type = TypeValue.Foreign; | |
shape.XForm.PinX.Value = 0.2221944631712089; | |
shape.XForm.PinY.Value = 0.1666458473784065; | |
shape.XForm.Width.Value = width; | |
shape.XForm.Height.Value = height; | |
shape.XForm.LocPinX.Ufe.F = "Width*0.5"; | |
shape.XForm.LocPinY.Ufe.F = "Height*0.5"; | |
shape.XForm.ResizeMode.Value = 0; | |
shape.TextXForm.TxtPinY.Ufe.F = "-TxtHeight/2"; | |
shape.TextXForm.TxtWidth.Ufe.F = "TEXTWIDTH(TheText)"; | |
shape.TextXForm.TxtHeight.Ufe.F = "TEXTHEIGHT(TheText, TxtWidth)"; | |
// Set connection properties | |
Connection connection = new Connection(); | |
shape.Connections.Add(connection); | |
connection.ID = 1; | |
connection.NameU = "All"; | |
connection.X.Value = 0.22; | |
connection.X.Ufe.F = "Width*0.5"; | |
connection.Y.Value = 0.16; | |
connection.Y.Ufe.F = "Height*0.5"; | |
connection.DirX.Value = 0; | |
connection.DirY.Value = 0; | |
connection.Type.Value = 0; | |
connection.AutoGen.Value = BOOL.False; | |
connection.Prompt.Ufe.F = "No Formula"; | |
shape.ForeignData.ForeignType = ForeignType.Bitmap; | |
shape.ForeignData.CompressionType = CompressionType.PNG; | |
shape.ForeignData.Value = ReadImageFile(masterImage); // EncodedImage.getBytes(); | |
return master; | |
} | |
// Get image bytes | |
public static byte[] ReadImageFile(string imageLocation) | |
{ | |
byte[] imageData = null; | |
FileInfo fileInfo = new FileInfo(imageLocation); | |
long imageFileLength = fileInfo.Length; | |
FileStream fs = new FileStream(imageLocation, FileMode.Open, FileAccess.Read); | |
BinaryReader br = new BinaryReader(fs); | |
imageData = br.ReadBytes((int)imageFileLength); | |
return imageData; | |
} |
Visio Dosyasından Master Alın
Bazen, geliştiricilerin bir Visio çizim ustasının ayrıntılarını alması gerekir. Aspose.Diagram API bu özelliği destekler.
Aspose.Diagram for .NET sunuyorDiagramVisio çizimini temsil eden sınıf. Diagram sınıfı tarafından sunulan Masters özelliği, Aspose.Diagram.Master nesne koleksiyonunu destekler. Bu özellik, belirli bir master’ın ayrıntılarını almak için kullanılabilir. MasterCollection sınıfı, bir Master nesnesi almak için çağrılabilen GetMasterByName ve GetMaster yöntemlerini kullanıma sunar.
Kimliğe göre Ana Nesne Alma
Bu örnek şu şekilde çalışır:
- Diagram sınıfından bir nesne oluşturun.
- Diagram.Masters sınıfının GetMaster yöntemini çağırın.
Kimliğe Göre Ana Nesne Programlama Örneği
Aşağıdaki örnek, bir Visio çiziminden kimliğe göre nasıl master alınacağını gösterir.
// 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_Master(); | |
// Call the diagram constructor to load diagram from a VDX file | |
Diagram diagram = new Diagram(dataDir + "RetrieveMasterInfo.vdx"); | |
// Set master id | |
int masterid = 2; | |
// Get master object by id | |
Master master = diagram.Masters.GetMaster(masterid); | |
Console.WriteLine("Master ID : " + master.ID); | |
Console.WriteLine("Master Name : " + master.Name); | |
Console.WriteLine("Master Name : " + master.UniqueID); |
Ada Göre Ana Nesne Alma
Bu örnek şu şekilde çalışır:
- Diagram sınıfından bir nesne oluşturun.
- Diagram.Masters sınıfının GetMasterByName yöntemini çağırın.
İsme Göre Ana Nesne Programlama Örneği
Aşağıdaki örnek, bir Visio çiziminden ada göre bir ana nesnenin nasıl alınacağını gösterir.
// 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_Master(); | |
// Call the diagram constructor to load diagram from a VDX file | |
Diagram diagram = new Diagram(dataDir + "Basic Shapes.vss"); | |
// Set master name | |
string masterName = "Circle"; | |
// Get master object by name | |
Master master = diagram.Masters.GetMasterByName(masterName); | |
Console.WriteLine("Master ID : " + master.ID); | |
Console.WriteLine("Master Name : " + master.Name); | |
Console.WriteLine("Master Name : " + master.UniqueID); |
Visio Çiziminde Master Varlığını Kontrol Edin
Aspose.Diagram API, Visio çiziminde bir master olup olmadığını kontrol etmeyi destekler. MasterCollection özelliği ile geliştiriciler, adına veya kimliğine göre bir master olup olmadığını kontrol edebilir.
Aspose.Diagram for .NET sunuyorDiagram Visio çizimini temsil eden sınıf. Diagram sınıfı tarafından sunulan Masters özelliği, Aspose.Diagram.Master nesne koleksiyonunu destekler. Bu özellik, belirli bir ana öğenin varlığını kontrol etmek için kullanılabilir. MasterCollection sınıfı, master adı veya ID parametresi ile çağrılabilen IsExist yöntemini gösterir.
Kimliğe göre Ana Varlığı kontrol etme
Bu örnek şu şekilde çalışır:
- Diagram sınıfından bir nesne oluşturun.
- Diagram.Masters sınıfının IsExist yöntemini çağırın.
ID Programlama Örneği ile Master Presence
Aşağıdaki örnek, bir Visio çiziminde kimliğe göre bir master varlığının nasıl kontrol edileceğini gösterir.
// 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_Master(); | |
// Call the diagram constructor to load diagram from a VDX file | |
Diagram diagram = new Diagram(dataDir + "Basic Shapes.vss"); | |
// Check master by id | |
bool isPresent = diagram.Masters.IsExist(2); | |
Console.WriteLine("Master Presence : " + isPresent); |
Ada Göre Ana Varlığı Kontrol Etme
Bu örnek şu şekilde çalışır:
- Diagram sınıfından bir nesne oluşturun.
- Diagram.Masters sınıfının IsExist yöntemini çağırın.
Ada Göre Master Presence Programlama Örneği
Aşağıdaki örnek, Visio çiziminden ada göre bir master varlığının nasıl kontrol edileceğini gösterir.
// 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_Master(); | |
// Call the diagram constructor to load diagram from a VDX file | |
Diagram diagram = new Diagram(dataDir + "Basic Shapes.vss"); | |
// Set master name | |
string masterName = "VNXe3100 Storage Processor Rear"; | |
// Check master object by name | |
bool isPresent = diagram.Masters.IsExist(masterName); | |
Console.WriteLine("Master Presence : " + isPresent); |