Trabajar con imágenes

Extraiga todas las imágenes de una página Visio

En Microsoft Visio, las páginas son páginas de primer plano o de fondo. Puede extraer imágenes de una página particular de un archivo Visio.

Extraer imágenes

El objeto Clase de página representa el área de dibujo de una página de primer plano o una página de fondo. La propiedad Shapes expuesta por la clase Diagram admite una colección de objetos Aspose.Diagram.Shape. Esta propiedad se puede utilizar para extraer todas las imágenes de una página en particular.

Muestra de programación de extracción de imágenes

El siguiente fragmento de código extrae todas las imágenes de una página Visio en particular.

// 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();
}
}

Obtener íconos de varias formas Visio

Aspose.Diagram for Java API ahora permite a los desarrolladores obtener íconos de varias Visio formas.

Obtener el icono de forma

El código de los ejemplos siguientes muestra cómo:

  1. Cargue un diagram o plantilla existente.
  2. Obtener maestro por su índice
  3. Obtener icono maestro.
  4. Guardar icono en el espacio local.

Muestra de Programación de Obtener Iconos

// 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();

Reemplace una forma de imagen del Visio Diagram

Aspose.Diagram for Java API permite a los desarrolladores acceder y reemplazar formas de imagen disponibles en Visio diagram.

Sustitución de una forma de imagen

El código de los ejemplos siguientes muestra cómo:

  1. Cargue un diagram existente.
  2. Iterar a través de las formas de página selectivas.
  3. Aplicar filtro para obtener formas de imagen.
  4. Guarde el Visio diagram resultante en el espacio local.

Reemplazar una muestra de programación de forma de imagen

// 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);

Importar imagen de mapa de bits como forma Visio

Aspose.Diagram for Java API ahora permite a los desarrolladores importar una imagen de mapa de bits como una forma Microsoft Visio.

Insert a BMP Image in Visio

El código de los ejemplos siguientes muestra cómo:

  1. Crea un diagram.
  2. Obtener Visio página
  3. Importe una imagen de mapa de bits como una forma Visio
  4. Guarda el diagram.

Insert a BMP Image Programming Sample

// 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();
}
}