Форматирование фигур PowerPoint в Python
Введение
В PowerPoint вы можете добавлять фигуры на слайды. Поскольку фигуры состоят из линий, их можно форматировать, изменяя или применяя эффекты к контурам. Кроме того, вы можете форматировать фигуры, задавая параметры, которые контролируют заполнение их внутренних областей.

Aspose.Slides for Python предоставляет классы и свойства, позволяющие форматировать фигуры с использованием тех же параметров, что доступны в PowerPoint.
Форматирование линий
Используя Aspose.Slides, вы можете задать пользовательский стиль линии для фигуры. Ниже перечислены шаги процедуры:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте AutoShape на слайд.
- Установите line style фигуры.
- Задайте толщину линии.
- Установите dash style фигуры.
- Установите цвет линии для фигуры.
- Сохраните изменённую презентацию как файл PPTX.
Следующий код Python демонстрирует, как отформатировать прямоугольный AutoShape:
import aspose.slides as slides
import aspose.pydrawing as draw
# Создайте экземпляр класса Presentation, представляющего файл презентации.
with slides.Presentation() as presentation:
# Получите первый слайд.
slide = presentation.slides[0]
# Добавьте автоматическую фигуру типа Rectangle.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 75)
# Удалите заливку у прямоугольной фигуры, чтобы отображались только её линии.
shape.fill_format.fill_type = slides.FillType.NO_FILL
# Примените форматирование к линиям прямоугольника.
shape.line_format.style = slides.LineStyle.THICK_THIN
shape.line_format.width = 7
shape.line_format.dash_style = slides.LineDashStyle.DASH
# Задайте цвет линии прямоугольника.
shape.line_format.fill_format.fill_type = slides.FillType.SOLID
shape.line_format.fill_format.solid_fill_color.color = draw.Color.blue
# Сохраните файл PPTX на диск.
presentation.save("formatted_lines.pptx", slides.export.SaveFormat.PPTX)
Результат:

Применение эффектов наброска к линиям фигур
Эффект наброска делает линию фигуры похожей на нарисованную от руки. Используйте Shape.line_format для доступа к настройкам линии, LineFormat.sketch_format для доступа к настройкам наброска и SketchFormat.sketch_type для выбора значения из перечисления LineSketchType.
Следующий код Python показывает, как применить эффект LineSketchType.CURVED, прочитать явно установленное значение и удалить эффект с помощью LineSketchType.NONE:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 200, 100)
# Доступ к формату линии фигуры и её формату наброска.
sketch_format = shape.line_format.sketch_format
# Применить эффект наброска.
sketch_format.sketch_type = slides.LineSketchType.CURVED
# Прочитать эффект наброска, назначенный напрямую фигуре.
explicit_sketch_type = sketch_format.sketch_type
print(f"Explicit sketch type: {explicit_sketch_type}")
# Удалить эффект наброска.
sketch_format.sketch_type = slides.LineSketchType.NONE
Значение, возвращаемое SketchFormat.sketch_type, представляет параметр, назначенный непосредственно фигуре. Если форматирование линии может быть унаследовано из темы, мастер‑слайда или макета, используйте LineFormat.get_effective, получите свойство sketch_format возвращённого объекта и прочитайте его свойство sketch_type. Эффективное значение отражает фактическое форматирование после разрешения наследования:
import aspose.slides as slides
with slides.Presentation("presentation.pptx") as presentation:
shape = presentation.slides[0].shapes[0]
line_format = shape.line_format
explicit_sketch_type = line_format.sketch_format.sketch_type
effective_line_format = line_format.get_effective()
effective_sketch_type = effective_line_format.sketch_format.sketch_type
print(f"Explicit sketch type: {explicit_sketch_type}")
print(f"Effective sketch type: {effective_sketch_type}")
Форматирование стилей соединения
Here are the three join type options:
- Round
- Miter
- Bevel
По умолчанию, когда PowerPoint соединяет две линии под углом (например, в углу фигуры), используется настройка Round. Однако, если вы рисуете фигуру с острыми углами, вам может подойти вариант Miter.

Следующий код Python демонстрирует, как три прямоугольника (как показано на изображении выше) были созданы с использованием настроек типов соединения Miter, Bevel и Round:
import aspose.slides as slides
import aspose.pydrawing as draw
# Создайте экземпляр класса Presentation, представляющего файл презентации.
with slides.Presentation() as presentation:
# Получите первый слайд.
slide = presentation.slides[0]
# Добавьте три автоматических фигуры типа Rectangle.
shape1 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 75)
shape2 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 210, 20, 150, 75)
shape3 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 135, 150, 75)
# Задайте цвет заливки для каждой прямоугольной фигуры.
shape1.fill_format.fill_type = slides.FillType.SOLID
shape1.fill_format.solid_fill_color.color = draw.Color.black
shape2.fill_format.fill_type = slides.FillType.SOLID
shape2.fill_format.solid_fill_color.color = draw.Color.black
shape3.fill_format.fill_type = slides.FillType.SOLID
shape3.fill_format.solid_fill_color.color = draw.Color.black
# Задайте толщину линии.
shape1.line_format.width = 15
shape2.line_format.width = 15
shape3.line_format.width = 15
# Задайте цвет линии для каждого прямоугольника.
shape1.line_format.fill_format.fill_type = slides.FillType.SOLID
shape1.line_format.fill_format.solid_fill_color.color = draw.Color.blue
shape2.line_format.fill_format.fill_type = slides.FillType.SOLID
shape2.line_format.fill_format.solid_fill_color.color = draw.Color.blue
shape3.line_format.fill_format.fill_type = slides.FillType.SOLID
shape3.line_format.fill_format.solid_fill_color.color = draw.Color.blue
# Задайте стиль соединения.
shape1.line_format.join_style = slides.LineJoinStyle.MITER
shape2.line_format.join_style = slides.LineJoinStyle.BEVEL
shape3.line_format.join_style = slides.LineJoinStyle.ROUND
# Добавьте текст к каждому прямоугольнику.
shape1.text_frame.text = "Miter Join style"
shape2.text_frame.text = "Bevel Join style"
shape3.text_frame.text = "Round Join style"
# Сохраните файл PPTX на диск.
presentation.save("join_styles.pptx", slides.export.SaveFormat.PPTX)
Градиентное заполнение
В PowerPoint градиентное заполнение — это параметр форматирования, позволяющий наложить непрерывный переход цветов на фигуру. Например, можно задать два и более цветов так, чтобы один постепенно переходил в другой.
Ниже показано, как применить градиентное заполнение к фигуре с помощью Aspose.Slides:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте AutoShape на слайд.
- Установите свойство FillType фигуры в
GRADIENT. - Добавьте два желаемых цвета с определёнными позициями, используя методы
addколлекцииgradient_stops, предоставляемой классом GradientFormat. - Сохраните изменённую презентацию как файл PPTX.
import aspose.slides as slides
# Создайте экземпляр класса Presentation, представляющего файл презентации.
with slides.Presentation() as presentation:
# Получите первый слайд.
slide = presentation.slides[0]
# Добавьте автоматическую фигуру типа Ellipse.
shape = slide.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 150, 75)
# Примените градиентное форматирование к эллипсу.
shape.fill_format.fill_type = slides.FillType.GRADIENT
shape.fill_format.gradient_format.gradient_shape = slides.GradientShape.LINEAR
# Задайте направление градиента.
shape.fill_format.gradient_format.gradient_direction = slides.GradientDirection.FROM_CORNER2
# Добавьте два градиентных пункта.
shape.fill_format.gradient_format.gradient_stops.add(1.0, slides.PresetColor.PURPLE)
shape.fill_format.gradient_format.gradient_stops.add(0, slides.PresetColor.RED)
# Сохраните файл PPTX на диск.
presentation.save("gradient_fill.pptx", slides.export.SaveFormat.PPTX)
Результат:

Если градиент выглядит иначе в экспортированном изображении, чем в PowerPoint, см. Choose a Gradient Rendering Style. Вы можете выбрать стиль рендеринга, не меняя градиент, сохранённый в презентации.
Заполнение узором
В PowerPoint заполнение узором — это параметр форматирования, позволяющий применить двуцветный дизайн — точки, полосы, штриховку или клетку — к фигуре. Вы можете выбрать пользовательские цвета для переднего и заднего плана узора.
Aspose.Slides предоставляет более 45 предопределённых стилей узоров, которые можно применять к фигурам для улучшения визуального восприятия презентаций. Даже после выбора предопределённого узора вы всё равно можете задать точные цвета, которые он будет использовать.
Ниже показано, как применить заполнение узором к фигуре с помощью Aspose.Slides:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте AutoShape на слайд.
- Установите свойство FillType фигуры в
PATTERN. - Выберите стиль узора из предопределённых вариантов.
- Установите back_color узора.
- Установите fore_color узора.
- Сохраните изменённую презентацию как файл PPTX.
import aspose.slides as slides
import aspose.pydrawing as draw
# Создайте экземпляр класса Presentation, представляющего файл презентации.
with slides.Presentation() as presentation:
# Получите первый слайд.
slide = presentation.slides[0]
# Добавьте автоматическую фигуру типа Rectangle.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
# Установите тип заливки в Pattern.
shape.fill_format.fill_type = slides.FillType.PATTERN
# Установите стиль узора.
shape.fill_format.pattern_format.pattern_style = slides.PatternStyle.TRELLIS
# Установите фоновые и передние цвета узора.
shape.fill_format.pattern_format.back_color.color = draw.Color.light_gray
shape.fill_format.pattern_format.fore_color.color = draw.Color.yellow
# Сохраните файл PPTX на диск.
presentation.save("pattern_fill.pptx", slides.export.SaveFormat.PPTX)
Результат:

Заполнение изображением
В PowerPoint заполнение изображением — это параметр форматирования, позволяющий вставить изображение внутрь фигуры, effectively using the image as the shape’s background.
Ниже показано, как использовать Aspose.Slides для заполнения фигуры изображением:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте AutoShape на слайд.
- Установите свойство FillType фигуры в
PICTURE. - Установите режим заполнения изображения в
TILE(или другой желаемый режим). - Создайте объект PPImage из изображения, которое хотите использовать.
- Назначьте это изображение свойству
picture.imageформатаpicture_fill_formatфигуры. - Сохраните изменённую презентацию как файл PPTX.
Предположим, у нас есть файл “lotus.png” со следующим изображением:

import aspose.slides as slides
# Создайте экземпляр класса Presentation, представляющего файл презентации.
with slides.Presentation() as presentation:
# Получите первый слайд.
slide = presentation.slides[0]
# Добавьте автоматическую фигуру типа Rectangle.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 192, 95)
# Установите тип заливки в Picture.
shape.fill_format.fill_type = slides.FillType.PICTURE
# Установите режим заполнения изображением.
shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.TILE
# Загрузите изображение и добавьте его в ресурсы презентации.
with slides.Images.from_file("lotus.png") as image:
presentation_image = presentation.images.add_image(image)
# Установите изображение.
shape.fill_format.picture_fill_format.picture.image = presentation_image
# Сохраните файл PPTX на диск.
presentation.save("picture_fill.pptx", slides.export.SaveFormat.PPTX)
Результат:

Тайловое изображение как текстура
Если вы хотите установить тайловое изображение в качестве текстуры и настроить поведение тайлинга, вы можете использовать следующие свойства класса PictureFillFormat:
- picture_fill_mode: задаёт режим заполнения изображения —
TILEилиSTRETCH. - tile_alignment: определяет выравнивание тайлов внутри фигуры.
- tile_flip: управляет тем, будет ли тайл отражён по горизонтали, вертикали или обеим осям.
- tile_offset_x: задаёт горизонтальное смещение тайла (в пунктах) от начала фигуры.
- tile_offset_y: задаёт вертикальное смещение тайла (в пунктах) от начала фигуры.
- tile_scale_x: определяет горизонтальный масштаб тайла в процентах.
- tile_scale_y: определяет вертикальный масштаб тайла в процентах.
import aspose.slides as slides
# Создайте экземпляр класса Presentation, представляющего файл презентации.
with slides.Presentation() as presentation:
# Получите первый слайд.
first_slide = presentation.slides[0]
# Добавьте автоматическую прямоугольную фигуру.
shape = first_slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 190, 95)
# Установите тип заливки фигуры в Picture.
shape.fill_format.fill_type = slides.FillType.PICTURE
# Загрузите изображение и добавьте его в ресурсы презентации.
with slides.Images.from_file("lotus.png") as source_image:
presentation_image = presentation.images.add_image(source_image)
# Присвойте изображение фигуре.
picture_fill_format = shape.fill_format.picture_fill_format
picture_fill_format.picture.image = presentation_image
# Настройте режим заполнения изображением и свойства тайлинга.
picture_fill_format.picture_fill_mode = slides.PictureFillMode.TILE
picture_fill_format.tile_offset_x = -32
picture_fill_format.tile_offset_y = -32
picture_fill_format.tile_scale_x = 50
picture_fill_format.tile_scale_y = 50
picture_fill_format.tile_alignment = slides.RectangleAlignment.BOTTOM_RIGHT
picture_fill_format.tile_flip = slides.TileFlip.FLIP_BOTH
# Сохраните файл PPTX на диск.
presentation.save("tile.pptx", slides.export.SaveFormat.PPTX)
Результат:

Сплошное цветное заполнение
В PowerPoint сплошное цветное заполнение — это параметр форматирования, который заполняет фигуру одним однородным цветом. Этот простой фоновый цвет применяется без градиентов, текстур или узоров.
Чтобы применить сплошное цветное заполнение к фигуре с помощью Aspose.Slides, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте AutoShape на слайд.
- Установите свойство FillType фигуры в
SOLID. - Назначьте желаемый цвет заливки фигуре.
- Сохраните изменённую презентацию как файл PPTX.
import aspose.slides as slides
import aspose.pydrawing as draw
# Создайте экземпляр класса Presentation, представляющего файл презентации.
with slides.Presentation() as presentation:
# Получите первый слайд.
slide = presentation.slides[0]
# Добавьте автоматическую фигуру типа Rectangle.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
# Установите тип заливки в Solid.
shape.fill_format.fill_type = slides.FillType.SOLID
# Установите цвет заливки.
shape.fill_format.solid_fill_color.color = draw.Color.yellow
# Сохраните файл PPTX на диск.
presentation.save("solid_color_fill.pptx", slides.export.SaveFormat.PPTX)
Результат:

Установка прозрачности
В PowerPoint, когда вы применяете сплошное, градиентное, изображение или текстурное заполнение к фигурам, вы также можете задать уровень прозрачности, чтобы контролировать непрозрачность заливки. Более высокое значение прозрачности делает фигуру более прозрачной, позволяя частично видеть фон или подложенные объекты.
Aspose.Slides позволяет установить уровень прозрачности, изменяя альфа‑компонент цвета, используемого для заливки. Как это сделать:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте AutoShape на слайд.
- Установите тип заливки в
SOLID. - Используйте
Color.from_argb, чтобы определить цвет с прозрачностью (компонентalphaуправляет прозрачностью). - Сохраните презентацию.
import aspose.pydrawing as draw
import aspose.slides as slides
# Создайте экземпляр класса Presentation, представляющего файл презентации.
with slides.Presentation() as presentation:
# Получите первый слайд.
slide = presentation.slides[0]
# Добавьте сплошную прямоугольную автоматическую фигуру.
slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
# Добавьте прозрачную прямоугольную автоматическую фигуру поверх сплошной.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 80, 80, 150, 75)
shape.fill_format.fill_type = slides.FillType.SOLID
shape.fill_format.solid_fill_color.color = draw.Color.from_argb(128, 204, 102, 0)
presentation.save("shape_transparency.pptx", slides.export.SaveFormat.PPTX)
Результат:

Поворот фигур
Aspose.Slides позволяет поворачивать фигуры в презентациях PowerPoint. Это может быть полезно при позиционировании визуальных элементов с определённым выравниванием или дизайнерскими требованиями.
Чтобы повернуть фигуру на слайде, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте AutoShape на слайд.
- Установите свойство
rotationфигуры в требуемый угол. - Сохраните презентацию.
import aspose.slides as slides
# Создайте экземпляр класса Presentation, представляющего файл презентации.
with slides.Presentation() as presentation:
# Получите первый слайд.
slide = presentation.slides[0]
# Добавьте автоматическую фигуру типа Rectangle.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
# Поверните фигуру на 5 градусов.
shape.rotation = 5
# Сохраните файл PPTX на диск.
presentation.save("shape_rotation.pptx", slides.export.SaveFormat.PPTX)
Результат:

Добавление 3D скосов
Aspose.Slides позволяет применять 3D‑скосы к фигурам, настраивая их свойства ThreeDFormat.
Чтобы добавить 3D‑скосы к фигуре, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте AutoShape на слайд.
- Настройте свойство ThreeDFormat фигуры, определив параметры скосов.
- Сохраните презентацию.
import aspose.slides as slides
import aspose.pydrawing as draw
# Создайте экземпляр класса Presentation.
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Добавьте фигуру на слайд.
shape = slide.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100)
shape.fill_format.fill_type = slides.FillType.SOLID
shape.fill_format.solid_fill_color.color = draw.Color.green
shape.line_format.fill_format.fill_type = slides.FillType.SOLID
shape.line_format.fill_format.solid_fill_color.color = draw.Color.orange
shape.line_format.width = 2.0
# Установите свойства ThreeDFormat фигуры.
shape.three_d_format.depth = 4
shape.three_d_format.bevel_top.bevel_type = slides.BevelPresetType.CIRCLE
shape.three_d_format.bevel_top.height = 6
shape.three_d_format.bevel_top.width = 6
shape.three_d_format.camera.camera_type = slides.CameraPresetType.ORTHOGRAPHIC_FRONT
shape.three_d_format.light_rig.light_type = slides.LightRigPresetType.THREE_PT
shape.three_d_format.light_rig.direction = slides.LightingDirection.TOP
# Сохраните презентацию как файл PPTX.
presentation.save("3D_bevel_effect.pptx", slides.export.SaveFormat.PPTX)
Результат:

Добавление 3D вращения
Aspose.Slides позволяет применять 3D‑вращения к фигурам, настраивая их свойства ThreeDFormat.
Чтобы применить 3D‑вращение к фигуре:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте AutoShape на слайд.
- Установите свойства camera_type и light_type фигуры, определив 3D‑вращение.
- Сохраните презентацию.
import aspose.slides as slides
# Создайте экземпляр класса Presentation.
with slides.Presentation() as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 75)
auto_shape.text_frame.text = "Hello, Aspose!"
auto_shape.three_d_format.depth = 6
auto_shape.three_d_format.camera.set_rotation(40, 35, 20)
auto_shape.three_d_format.camera.camera_type = slides.CameraPresetType.ISOMETRIC_LEFT_UP
auto_shape.three_d_format.light_rig.light_type = slides.LightRigPresetType.BALANCED
# Сохраните презентацию как файл PPTX.
presentation.save("3D_rotation_effect.pptx", slides.export.SaveFormat.PPTX)
Результат:

Управление чёрно‑белым отображением фигур
Свойство Shape.black_white_mode определяет, как отдельная фигура будет отображаться, когда презентация просматривается или обрабатывается в чёрно‑белом режиме. Оно не включает чёрно‑белый режим само по себе и не меняет заливку, линии или другое форматирование фигуры в обычном цветовом режиме.
Используйте значение из перечисления BlackWhiteMode для выбора желаемого поведения. Например, AUTOMATIC позволяет приложению выбора преобразования, GRAY и LIGHT_GRAY используют серую градацию, BLACK_WHITE — только чёрный и белый, BLACK и WHITE — принудительно один цвет, COLOR — сохраняет обычные цвета, HIDDEN — скрывает фигуру в чёрно‑белом режиме. NOT_DEFINED означает, что режим для фигуры не задан.
Следующий код создаёт цветную фигуру и заставляет её отображаться серой в чёрно‑белом режиме:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 200, 100)
shape.fill_format.fill_type = slides.FillType.SOLID
shape.fill_format.solid_fill_color.color = draw.Color.orange
# Сохраняйте оранжевую заливку в цветном режиме, но отображайте фигуру в оттенках серого в чёрно‑белом режиме.
shape.black_white_mode = slides.BlackWhiteMode.GRAY
presentation.save("shape_black_white_mode.pptx", slides.export.SaveFormat.PPTX)
В обычном цветовом режиме прямоугольник сохраняет оранжевую заливку. В рабочем процессе чёрно‑белого отображения он используется серым, потому что его режим установлен в GRAY. Это позволяет сохранять полноцветный слайд, определяя отдельный вид для печати, предпросмотра или других процессов, учитывающих настройки чёрно‑белого отображения презентации.
Сброс форматирования
Следующий код показывает, как сбросить форматирование слайда и вернуть позицию, размер и форматирование всех фигур‑заполнителей на LayoutSlide к их значениям по умолчанию:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
for slide in presentation.slides:
# Сбросить каждую фигуру на слайде, у которой есть заполнитель в макете.
slide.reset()
presentation.save("reset_formatting.pptx", slides.export.SaveFormat.PPTX)
FAQ
Влияет ли форматирование фигур на конечный размер файла презентации?
Только незначительно. Встроенные изображения и медиа‑файлы занимают большую часть пространства файла, тогда как параметры фигур — цвета, эффекты и градиенты — хранятся как метаданные и практически не увеличивают размер.
Как обнаружить фигуры на слайде, имеющие идентичное форматирование, чтобы сгруппировать их?
Сравните ключевые свойства форматирования каждой фигуры — параметры заливки, линии и эффектов. Если все соответствующие значения совпадают, рассматривайте их стили как одинаковые и логически группируйте такие фигуры, что упрощает дальнейшее управление стилями.
Можно ли сохранить набор пользовательских стилей фигур в отдельный файл для повторного использования в других презентациях?
Да. Сохраните образцы фигур с нужными стилями в шаблонной презентации или файле шаблона .POTX. При создании новой презентации откройте шаблон, клонируйте требуемые стилизованные фигуры и применяйте их форматирование там, где это необходимо.