Как сделать трафарет?

Трафарет изображения – это упрощенный контур или шаблон, созданный на основе изображения и обычно используемый в художественных целях, таких как рисование или граффити. Этот процесс включает в себя преобразование деталей изображения в базовые формы и линии, которые можно легко обвести или воспроизвести. Aspose.SVG for Python via .NET позволяет создавать трафарет изображения программно или с помощью онлайн-конструктора трафаретов. Здесь вы можете векторизовать изображение и применить методы трафарета онлайн или с помощью Python.


Конструктор трафаретов изображений

Конструктор трафаретов изображений поддерживает JPEG, JPG, PJP, PJPEG, PNG, BMP, ICO, GIF, TIFF, SVG и другие форматы изображений. Он использует алгоритмы квантования цвета для уменьшения количества цветов в вашем изображении, преобразует изображение в SVG и создает трафареты онлайн. Используйте наш бесплатный конструктор трафаретов, чтобы легко создавать потрясающие трафареты!



Трафаретное изображение преобразует обычное изображение или фотографию в контурное изображение, идеально подходящее для создания трафаретов с эффектами, подобными граффити. Вот основные шаги, чтобы превратить фотографию или изображение в трафарет:

  1. Преобразуйте изображение в оттенки серого (необязательно). Вы можете преобразовать изображение в оттенки серого или уменьшить количество цветов для его квантования.
  2. Квантизация цветов изображения. Этот шаг упрощает изображение за счет уменьшения его цветовой палитры. После квантования вы можете загрузить или векторизовать результат, чтобы получить контур трафарета.
  3. Рисование трафаретов. Существует три варианта рисования трафаретов:
    • None – все векторизованные фигуры заполнены.
    • Auto – фигуры не заполняются, а границы сохраняют исходный цвет.
    • MonoColor – фигуры не заполняются, а границы имеют заранее заданный цвет.

После создания трафарета векторизованное изображение можно экспортировать в виде файла SVG и использовать в качестве шаблона для эффекта трафарета.



Трафарет изображения на Python

Aspose.SVG for Python via .NET API предоставляет классы и методы, которые позволяют реализовать процесс векторизации изображений и работать с различными вариантами предварительной обработки изображений перед сохранением их в векторном формате SVG. Помимо управления такими параметрами векторизации, как trace_smoother, error_threshold, max_iterations, path_builder и т. д., вы также можете настроить отрисовку трафарета изображения.

В следующем примере кода мы преобразуем изображение в вектор и применяем технику трафарета для создания трафарета:


Сделать трафарет на Python

import os
from aspose.svg import *
from aspose.svg.drawing import *
from aspose.svg.rendering.image import *
from aspose.svg.imagevectorization import *

# Setup directories
input_folder = "data/"
output_folder = "output/"
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# Configuration for image vectorization
path_builder = BezierPathBuilder()
path_builder.trace_smoother = ImageTraceSmoother(1)
path_builder.error_threshold = 30.0
path_builder.max_iterations = 30

vectorizer = ImageVectorizer()
vectorizer.configuration.path_builder = path_builder
vectorizer.configuration.colors_limit = 10
vectorizer.configuration.line_width = 1.0

# Configuration for image stencil
stencil_config = StencilConfiguration()
stencil_config.type = StencilType.MONO_COLOR
stencil_config.color = Color.from_rgb(0, 0, 255)
vectorizer.configuration.stencil = stencil_config

# Vectorize an image
src_file = "image.png"
with vectorizer.vectorize(os.path.join(input_folder, src_file)) as document:
    output_file = os.path.join(output_folder, "image-stencil.svg")
    document.save(output_file)


Шаги по созданию трафарета на Python

Чтобы векторизовать изображение и создать трафарет с помощью библиотеки Python Aspose.SVG, вам необходимо выполнить несколько шагов:

  1. Импортируйте необходимые модули и классы из aspose.svg, aspose.svg.imagevectorization и других необходимых пакетов.
  2. Создайте экземпляр класса BezierPathBuilder , чтобы определить стратегию построения пути.
    • Установите значение свойства trace_smoother, используя экземпляр ImageTraceSmoother . Этот параметр управляет степенью сглаживания трассируемых путей.
    • Установите значение свойства error_threshold для BezierPathBuilder. Этот параметр определяет допустимый предел погрешности для аппроксимации растровых форм векторными путями.
    • Укажите значение свойства max_iterations объекта BezierPathBuilder. Этот параметр определяет максимальное количество итераций, разрешенное для алгоритма оптимизации пути во время векторизации, то есть сколько раз алгоритм будет пытаться улучшить точность пути.
  3. Создайте экземпляр класса ImageVectorizer . ImageVectorizer - это основной класс, используемый для преобразования изображений в векторную графику.
    • Назначьте конфигурацию path_builder (определенную ранее) объекту векторизатора. Это означает, что векторизатор будет использовать настройки, указанные в path_builder, для создания и оптимизации пути.
    • Установите свойство colors_limit класса ImageVectorizerConfiguration . Этот параметр определяет максимальное количество цветов, которые будут использоваться в векторизованном изображении. Это влияет на то, как векторизатор обрабатывает упрощение цвета и уменьшает количество уникальных цветов в выходных данных.
    • Укажите свойство line_width класса ImageVectorizerConfiguration. Этот параметр определяет ширину векторных путей в результирующем файле SVG.
  4. Инициализируйте новый экземпляр класса StencilConfiguration , который содержит настройки процесса создания трафарета.
    • Установите для свойства трафарета type значение MONO_COLOR. Это создаст трафарет с одним однородным цветом контура.
    • Установите свойство color для контура трафарета. Метод Color.from_rgb(0, 0, 255) создает объект цвета, представляющий синий цвет с использованием значений RGB (красный: 0, зеленый: 0, синий: 255).
    • Примените конфигурацию трафарета к векторизатору.
  5. Используйте метод vectorize() для векторизации изображения из указанного файла.
  6. Сохраните векторизованное изображение в формате SVG, используя метод save() для полученного SVGDocument.

Aspose.SVG предлагает бесплатный онлайн-инструмент Векторизатор изображений , который позволяет конвертировать растровые изображения JPG, PNG, BMP, TIFF, ICO и GIF в векторную графику. С помощью этого приложения вы сможете применять различные варианты для достижения идеального результата. Сэкономьте время и испытайте преимущества векторной графики, попробовав этот векторизатор изображений уже сегодня!


FAQ

1. Как преобразовать Image в векторную графику SVG?

Aspose.SVG позволяет конвертировать Image в SVG онлайн или программно. Например, вы можете векторизовать Image в режиме реального времени с помощью онлайн Векторизатора Изображений, который быстро и качественно превратит их в векторную графику SVG. С другой стороны, вы можете использовать Aspose.SVG API для векторизации Image программно.

2. Что такое векторизация изображений?

Процесс преобразования растрового изображения в векторное называется векторизацией изображения. Это сложный вычислительный процесс, который преобразует растровую картинку, состоящую из пикселей, в векторное изображение, состоящее из линий, кривых и других геометрических фигур.

3. Для чего нужна векторизация изображений?

Векторные изображения необходимы любому специалисту, работающему с чертежами, графикой или эскизами. Многие дизайнеры, полиграфисты, архитекторы и художники часто предпочитают работать с эскизами или рисунками в виде векторных изображений. И у них есть на то веские причины! В отличие от растровой графики, векторные рисунки можно изменять в размере и масштабировать без потери качества, и они по-прежнему будут отображаться так же четко. Также векторизацию можно использовать для обновления или восстановления изображений. Векторные изображения – это то, что вам нужно для создания баннеров, логотипов, карт, вывесок, вышивок, гравюр, графиков, чертежей и т. д.

4. Как происходит векторизация?

В процессе векторизации используется квантование цветового изображения – метод, который уменьшает количество различных цветов, используемых в изображении, чтобы новое изображение было максимально визуально похоже на исходное. Затем векторизатор заменяет все одинаковые цветные пятна или пиксели геометрическими фигурами или кривыми, используя набор алгоритмов трассировки контуров. Последний шаг – преобразовать точки трассировки в линии пути SVG и кривые Безье и добавить их в документ SVG.



Начало работы с Python API

Если вы хотите разрабатывать масштабируемую векторную графику и приложения к ней, установите наш гибкий и высокоскоростной Aspose.SVG for Python via .NET API. pip – это самый простой способ загрузить и установить Aspose.SVG for Python via .NET. Для этого выполните следующую команду:

pip install aspose-svg-net

Более подробную информацию об установке библиотеки Python и системных требованиях можно найти в Документации Aspose.SVG. .

Другие поддерживаемые Bекторизаторы Изображений

JPG to SVG (JPEG Image)
PNG to SVG (Portable Network Graphics)
Image to SVG (Raster Image)
BMP to SVG (Microsoft Windows Bitmap)
Image Stencil (Stencil Maker)