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 deun 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.
import jpype
import asposediagram
jpype.startJVM()
from asposediagram.api import *
lic = License()
lic.setLicense("Aspose.Total.Product.Family.lic")
# call a Diagram class constructor to load a VSD diagram
diagram = Diagram("ExtractAllImagesFromPage.vsd")
# Enter page index i.e. 0 for first one
for shape in diagram.getPages().getPage(0).getShapes():
# Filter shapes by type Foreign
if shape.getType() == TypeValue.FOREIGN:
fos = java.io.FileOutputStream("ExtractAllImages" + str(shape.getID()) + "_Out.bmp")
fos.write(shape.getForeignData().getValue())
fos.close()
jpype.shutdownJVM()Obtener íconos de varias formas Visio
Aspose.Diagram for Python via Java API now allows developers to get icons of various Visio formas.
Obtener el icono de forma
El código de los ejemplos siguientes muestra cómo:
- Cargue un diagram o plantilla existente.
- Obtener maestro por su índice
- Obtener icono maestro.
- Guardar icono en el espacio local.
Muestra de Programación de Obtener Iconos
import jpype
import asposediagram
jpype.startJVM()
from asposediagram.api import *
lic = License()
lic.setLicense("Aspose.Total.Product.Family.lic")
# Load stencil file to a diagram object
stencil = Diagram("Timeline.vss")
# get master
master = stencil.getMasters().getMasterByName("Triangle milestone")
# get byte array
icon_bytes = master.getIcon()
# create an image file
fos = java.io.FileOutputStream("MasterIcon_Out.png")
# write byte array of the image
fos.write(icon_bytes)
# close array
fos.close()
jpype.shutdownJVM()Reemplace una forma de imagen del Visio Diagram
Aspose.Diagram for Python via Java API allows developers to access and replace available picture shapes in el Visio diagram.
Sustitución de una forma de imagen
El código de los ejemplos siguientes muestra cómo:
- Cargue un diagram existente.
- Iterar a través de las formas de página selectivas.
- Aplicar filtro para obtener formas de imagen.
- Guarde el Visio diagram resultante en el espacio local.
Reemplazar una muestra de programación de forma de imagen
import jpype
import asposediagram
jpype.startJVM()
from asposediagram.api import *
lic = License()
lic.setLicense("Aspose.Total.Product.Family.lic")
# call a Diagram class constructor to load the VSD diagram
diagram = Diagram("ExtractAllImagesFromPage.vsd")
# convert image into bytes array
fi = java.io.File("image.png")
fileContent = java.nio.file.Files.readAllBytes(fi.toPath())
# Enter page index i.e. 0 for first one
for shape in 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("ReplaceShapePicture_Out.vsdx", SaveFileFormat.VSDX)
jpype.shutdownJVM()Importar imagen como forma Visio
Aspose.Diagram for Python via Java API now allows developers to import a image as a Microsoft Visio shape.
Insertar una imagen en Visio
El código de los ejemplos siguientes muestra cómo:
- Crea un diagram.
- Obtener Visio página
- Importar una imagen como forma Visio
- Guarda el diagram.
Insertar una muestra de programación de imágenes
import jpype
import asposediagram
jpype.startJVM()
from asposediagram.api import *
lic = License()
lic.setLicense("Aspose.Total.Product.Family.lic")
# Create a new diagram
diagram = Diagram()
# Get page object by index
page0 = diagram.getPages().getPage(0)
# Set pinX, pinY, width and height
pinX = 2
pinY = 2
width = 4
height = 3
# Import Bitmap image as Visio shape
page0.addShape(pinX, pinY, width, height, java.io.FileInputStream("image.png"))
# Save Visio diagram
diagram.save("InsertImageInVisio_out.vsdx", SaveFileFormat.VSDX)
jpype.shutdownJVM()