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