Arbeta med bilder
Extrahera alla bilder från en Visio-sida
I Microsoft Visio är sidorna antingen förgrunds- eller bakgrundssidor. Du kan extrahera bilder från en viss sida i en Visio-fil.
Extrahera bilder
Sidklassobjektet representerar ritytan på en förgrundssida eller en bakgrundssida. Shapes-egenskapen som exponeras av klassen Diagram stöder en samling Aspose.Diagram.Shape-objekt. Den här egenskapen kan användas för att extrahera alla bilder från en viss sida.
Extrahera bilder Programmeringsexempel
Följande kodbit extraherar alla bilder från en viss Visio-sida.
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ExtractAllImagesFromPage.class); | |
// call a Diagram class constructor to load a VSD diagram | |
Diagram diagram = new Diagram(dataDir + "ExtractAllImagesFromPage.vsd"); | |
// Enter page index i.e. 0 for first one | |
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage(0).getShapes()) | |
{ | |
// Filter shapes by type Foreign | |
if (shape.getType() == TypeValue.FOREIGN) | |
{ | |
FileOutputStream fos = new FileOutputStream(dataDir+ "ExtractAllImages" + shape.getID() + "_Out.bmp"); | |
fos.write(shape.getForeignData().getValue()); | |
fos.close(); | |
} | |
} |
Få ikoner av olika Visio former
Aspose.Diagram for Java API tillåter nu utvecklare att få ikoner av olika Visio former.
Få formikonen
Koden i exemplen nedan visar hur man:
- Ladda en befintlig diagram eller stencil.
- Få mästare efter dess index
- Få master ikon.
- Spara ikonen till det lokala utrymmet.
Få ikoner programmering exempel
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(GetShapeIcon.class); | |
// Load stencil file to a diagram object | |
Diagram stencil = new Diagram(dataDir + "Timeline.vss"); | |
// get master | |
Master master = stencil.getMasters().getMasterByName("Triangle"); | |
// get byte array | |
byte[] bytes = master.getIcon(); | |
// create an image file | |
FileOutputStream fos = new FileOutputStream(dataDir + "MasterIcon_Out.png"); | |
// write byte array of the image | |
fos.write(bytes); | |
// close array | |
fos.close(); |
Byt ut en bildform på Visio Diagram
Aspose.Diagram for Java API låter utvecklare komma åt och ersätta tillgängliga bildformer i Visio diagram.
Byta ut en bildform
Koden i exemplen nedan visar hur man:
- Ladda ett befintligt diagram.
- Iterera genom de selektiva sidformerna.
- Använd filter för att få bildformer.
- Spara resulterande Visio diagram till det lokala utrymmet.
Byt ut ett bildformsprogrammeringsprov
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ReplaceShapePicture.class); | |
// call a Diagram class constructor to load the VSD diagram | |
Diagram diagram = new Diagram(dataDir + "ExtractAllImagesFromPage.vsd"); | |
// convert image into bytes array | |
File fi = new File(dataDir + "Picture.png"); | |
byte[] fileContent = Files.readAllBytes(fi.toPath()); | |
// Enter page index i.e. 0 for first one | |
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage(0).getShapes()) | |
{ | |
// Filter shapes by type Foreign | |
if (shape.getType() == TypeValue.FOREIGN) | |
{ | |
//replace picture shape | |
shape.getForeignData().setValue(fileContent); | |
} | |
} | |
// save diagram | |
diagram.save(dataDir + "ReplaceShapePicture_Out.vsdx", SaveFileFormat.VSDX); |
Importera bitmappsbild som en Visio-form
Aspose.Diagram for Java API tillåter nu utvecklare att importera en bitmappsbild som en Microsoft Visio form.
Infoga en BMP-bild i Visio
Koden i exemplen nedan visar hur man:
- Skapa ett diagram.
- Skaffa Visio sida
- Importera en bitmappsbild som en Visio-form
- Spara diagram.
Infoga ett BMP bildprogrammeringsexempel
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ExtractAllImagesFromPage.class); | |
// call a Diagram class constructor to load a VSD diagram | |
Diagram diagram = new Diagram(dataDir + "ExtractAllImagesFromPage.vsd"); | |
// Enter page index i.e. 0 for first one | |
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage(0).getShapes()) | |
{ | |
// Filter shapes by type Foreign | |
if (shape.getType() == TypeValue.FOREIGN) | |
{ | |
FileOutputStream fos = new FileOutputStream(dataDir+ "ExtractAllImages" + shape.getID() + "_Out.bmp"); | |
fos.write(shape.getForeignData().getValue()); | |
fos.close(); | |
} | |
} |