Вращение, изменение положения и соединение подформ

Повернуть фигуру на подходящий угол

Aspose.Diagram for Java позволяет поворачивать фигуру под любым углом. Метод SetAngle, предоставляемыйФорма можно использовать для поворота фигуры на любой желаемый угол. Он принимает один параметр в качестве угла.

Поворот образца программирования формы

Используйте следующий код в своем приложении Java, чтобы повернуть фигуру с помощью Aspose.Diagram for Java.

// 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(RotateVisioShape.class);
// call a Diagram class constructor to load the VSDX diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// get page by name
Page page = diagram.getPages().getPage("Page-3");
// get shape by id
Shape shape = page.getShapes().getShape(16);
// Add a shape and set the angle
shape.setAngle(190);
// Save diagram
diagram.save(dataDir + "RotateVisioShape_Out.vsdx", SaveFileFormat.VSDX);

Изменить положение фигуры

Класс Shape позволяет изменить положение фигуры. Соединительная линия автоматически настраивается, когда фигура перемещается в другое положение.

Методы Move и MoveTo, предоставляемые классом Shape, поддерживают изменение положения фигуры как части группы или нет. Примеры кода в этой статье перемещают фигуру на странице. Ввод diagram

дело:изображение_альтернативный_текст

diagram после перемещения формы

дело:изображение_альтернативный_текст

Процесс перемещения фигуры:

  1. Загрузите diagram.
  2. Найдите определенную форму.
  3. Переместить фигуру в другое место
  4. Сохраните номер diagram.

Пример программирования изменения позиции

Фрагмент кода ниже показывает, как переместить фигуру. Код извлекает страницу Visio по имени и форме по идентификатору 16 и перемещает ее позицию.

// 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(MoveVisioShape.class);
// call a Diagram class constructor to load the VSDX diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// get page by name
Page page = diagram.getPages().getPage("Page-3");
// get shape by id
Shape shape = page.getShapes().getShape(16);
// move shape from its position, it adds values in coordinates
shape.move(1, 1);
// save diagram
diagram.save(dataDir + "MoveVisioShape_Out.vsdx", SaveFileFormat.VSDX);

Соедините подформы групп

В этом разделе подробно описывается, как соединить два подфигуры двух разных форм групп на диаграммах Microsoft Visio с использованием Aspose.Diagram for Java.

Метод ConnectShapesViaConnector, предоставляемыйСтраница можно использовать для соединения фигур по их идентификаторам. Метод AddShape, представленныйDiagramclass, можно использовать для добавления формы.

Ввод diagram

дело:изображение_альтернативный_текст

diagram после соединения подформ

дело:изображение_альтернативный_текст

В приведенном ниже коде показано, как:
  1. Загрузите образец файла.
  2. Доступ к определенной странице.
  3. Добавьте форму динамического соединителя на выбранную страницу.
  4. Подключить подформы

Образец программирования Connect Sub-Shapes

Используйте следующий код в своем приложении Java, чтобы соединить подформы двух разных фигур группы, используя Aspose.Diagram for Java.

// 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(ConnectVisioSubShapes.class);
// set sub shape ids
long shapeFromId = 2;
long shapeToId = 4;
// load diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// access a particular page
Page page = diagram.getPages().getPage("Page-3");
// initialize connector shape
Shape shape = new Shape();
shape.getLine().getEndArrow().setValue(4);
shape.getLine().getLineWeight().setValue(0.01388);
// add shape
long connecter1Id = diagram.addShape(shape, "Dynamic connector", page.getID());
// connect sub-shapes
page.connectShapesViaConnector(shapeFromId, ConnectionPointPlace.RIGHT, shapeToId, ConnectionPointPlace.LEFT, connecter1Id);
// save Visio drawing
diagram.save(dataDir + "ConnectVisioSubShapes_Out.vsdx", SaveFileFormat.VSDX);

Соедините фигуры с определенной фигурой

Добавить и соединить Visio фигуры объясняет, как добавить фигуру и соединить ее с другими фигурами на диаграммах Microsoft Visio, используя Aspose.Diagram for Java. Также можно найти фигуры, которые связаны с определенной фигурой.

Метод ConnectedShapes, предоставляемыйФорма можно использовать для получения идентификаторов фигур, связанных с фигурой. Метод GetShape, представленныйКоллекция форм class, затем можно использовать для поиска фигуры по ее идентификатору.

В приведенном ниже коде показано, как:

  1. Загрузите образец файла.
  2. Доступ к определенной форме.
  3. Получите имена всех фигур, связанных с выбранной фигурой.

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

Используйте следующий код в своем приложении Java, чтобы найти все фигуры, связанные с определенной фигурой, используя Aspose.Diagram for Java.

// 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(GetAllConnectedShapes.class);
// call a Diagram class constructor to load the VSDX diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// get shape by id
Shape shape = diagram.getPages().getPage("Page-3").getShapes().getShape(16);
// get connected shapes
long[] connectedShapeIds = shape.connectedShapes(ConnectedShapesFlags.CONNECTED_SHAPES_ALL_NODES, null);
for (long id : connectedShapeIds)
{
shape = diagram.getPages().getPage("Page-3").getShapes().getShape(id);
System.out.println("ID: " + shape.getID() + "\t\t Name: " + shape.getName());
}