Работа с изображениями

Извлечь все изображения со страницы Visio

В Microsoft Visio страницы являются либо передним планом, либо фоновыми страницами. Вы можете извлекать изображения с определенной страницыфайл Visio.

Извлечь изображения

Объект Page Class представляет область рисования страницы переднего плана или страницы фона. Свойство Shapes, предоставляемое классом Diagram, поддерживает коллекцию объектов Aspose.Diagram.Shape. Это свойство можно использовать для извлечения всех изображений с определенной страницы.

Пример программирования извлечения изображений

Следующий фрагмент кода извлекает все изображения с определенной страницы Visio.

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

Получить иконки различных форм Visio

Aspose.Diagram for Python via Java API теперь позволяет разработчикам получать иконки различныхVisio формы

Получение значка формы

Код в приведенных ниже примерах показывает, как:

  1. Загрузите существующий diagram или шаблон.
  2. Получить мастер по его индексу
  3. Получить главный значок.
  4. Сохранить значок в локальном пространстве.

Получить пример программирования значков

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

Замените форму изображения Visio Diagram

Aspose.Diagram для Python via Java API позволяет разработчикам получать доступ и заменять доступные формы изображений вVisio diagram.

Замена формы изображения

Код в приведенных ниже примерах показывает, как:

  1. Загрузите существующий diagram.
  2. Повторите выборочные формы страниц.
  3. Примените фильтр, чтобы получить формы изображения.
  4. Сохраните результат Visio diagram в локальном пространстве.

Замена примера программирования формы изображения

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

Импорт изображения как формы Visio

Aspose.Diagram для Python via Java API теперь позволяет разработчикам импортировать изображение в виде формы Microsoft Visio.

Вставьте изображение в Visio

Код в приведенных ниже примерах показывает, как:

  1. Создайте номер diagram.
  2. Получить страницу Visio
  3. Импорт изображения в виде фигуры Visio
  4. Сохраните номер diagram.

Вставьте пример программирования изображения

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