Онлайн Stencil Maker

Если вам нужно превратить фотографии или изображения в трафареты, воспользуйтесь нашим бесплатным онлайн-инструментом! Он создает трафареты и позволяет векторизовать их для получения четкой векторной графики. Stencil Maker поддерживает множество форматов, включая JPEG, JPG, PNG, BMP, ICO, GIF, TIFF, WEBP, SVG и другие.




Что такое трафарет изображения?

Стенсилинг (создание трафарета) – это процесс преобразования обычного изображения или фотографии в контурный рисунок, который можно использовать в качестве трафарета для эффектов в стиле граффити. Процесс включает несколько основных этапов:

  • Преобразование фото или изображения в градации серого (необязательный шаг, вместо него можно уменьшить количество цветов при квантовании).
  • Квантование цветов для упрощения изображения, после чего результат можно скачать или векторизовать для получения контурных линий трафарета.
  • Доступны три варианта отрисовки трафарета. Первый – «None» (все векторизованные фигуры закрашены), второй – «Auto» (фигуры не закрашены, границы имеют оригинальный цвет), и последний – «MonoColor» (фигуры не закрашены, границы имеют заданный цвет).

Как использовать Векторизатор Изображений?

  1. Загрузите исходное растровое изображение из локальной файловой системы. Интерфейс отображает три панели: Source Image, Quantized Image и Vectorized Image.
  2. Движок обрабатывает Image с параметрами по умолчанию. Для оптимизации SVG-вывода используйте боковые панели для настройки параметров квантования и векторизации. Нажмите Quantize для предварительного просмотра уменьшения палитры, затем Vectorize для отрисовки SVG-путей.
  3. Нажмите Download, чтобы сохранить сгенерированный векторный файл.

Параметры квантования (Quantization Options)

Настройте эти параметры, чтобы управлять тем, как алгоритм группирует пиксели и уменьшает исходную цветовую палитру:

  • colors – задает точное ограничение максимального размера палитры.
  • method – переключение между алгоритмами квантования цвета на основе гистограммы.
  • minHueCols – управляет пороговыми значениями чувствительности при обработке цветовых градиентов.
  • scale – регулирует коэффициент масштабирования для более точной или грубой выборки цветов.
  • grayscale – принудительно переводит вывод в монохромные границы.

Параметры векторизации (Vectorization Options)

Управляет поведением геометрической трассировки, применяемой к квантованной карте:

  • threshold – определяет ограничение чувствительности пикселей для обнаружения граничных контуров.
  • severity – изменяет сглаживание контуров с использованием пространственного размера ближайшего соседа.
  • line-width – определяет толщину штриха, назначаемую генерируемым SVG-линиям.
  • stencil – применяет двоичную маску контура, идеальную для преобразования фотографий с непрерывными тонами в трафаретные силуэты.
  • trace paths – переключает визуальный рендеринг контрольных точек кривых Безье и сплайнов, используемых для построения сегментов.

Как создать трафарет на C#

Вы можете интегрировать эффекты трафарета в рабочий процесс векторизации с помощью C#. Используя класс ImageVectorizer и объект StencilConfiguration, можно определить типы и цвета трафаретов для создания настраиваемой векторной графики профессионального уровня.


Создание трафарета на C#

    // Initialize an instance of the ImageVectorizer class
    ImageVectorizer vectorizer = new ImageVectorizer
    {
		// Optionally set a configuration and specify configuration properties
        Configuration =
        {
            // Optionally create an instance of the PathBuilder class
            PathBuilder = new BezierPathBuilder 
            {
                // Optionally set trace smoother
                TraceSmoother = new ImageTraceSmoother(1),
                ErrorThreshold = 30,
                MaxIterations = 30
            },
            ColorsLimit = 10,
            LineWidth = 1,
            // Set stencil effect configuration
            Stencil = new StencilConfiguration { Type = StencilType.MonoColor, Color = Aspose.Svg.Drawing.Color.FromRgb(0,0,255) }
        }
    };
    
    // Vectorize image from the specified file
    using (SVGDocument document = vectorizer.Vectorize(Path.Combine(DataDir, "image.png")))
    {
        // Save the vectorized image with the stencil effect as an SVG file
        document.Save(Path.Combine(OutputDir, "image-stencil.svg"));
    }

Шаги создания трафарета на C#

Создать трафарет из любого растрового изображения с помощью Aspose.SVG можно за три шага:

  1. Инициализируйте ImageVectorizer и настройте свойства Configuration.
    • Настройте PathBuilder для трассировки плавных векторных кривых.
    • Определите ColorsLimit (например, 10) для упрощения исходного изображения.
    • Настройте свойство Stencil (например, StencilType.MonoColor), чтобы указать способ отрисовки контуров.
  2. Передайте файл изображения в метод Vectorize() для получения векторизованного SVGDocument.
  3. Сохраните полученный трафарет в файловую систему с помощью метода Save() .

Для получения полного обзора архитектуры векторизации и примеров настройки трассировки изучите руководство Векторизация – базовый обзор . В нем рассматриваются основные концепции замены растровых изображений на масштабируемые векторные пути, включая обработку форматов PNG, JPG, BMP, TIFF, GIF и ICO в документы SVG.


FAQ

1. Как программно векторизовать изображения Image на C#?

Вы можете использовать класс ImageVectorizer в Aspose.SVG для синтаксического анализа и преобразования растров Image в контуры SVG. API для .NET предоставляет прямой доступ к алгоритмам квантования, построителям путей и параметрам сглаживания, выполняя преобразование независимо от стороннего графического программного обеспечения.

2. Что происходит в процессе преобразования растра в вектор?

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

3. Зачем внедрять векторизацию изображений в .NET-приложения?

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

4. Как работает алгоритм векторизации изображений?

Сначала алгоритм векторизации применяет цветовую квантизацию для группировки схожих пикселей и снижения визуального шума. Затем функции трассировки контуров выявляют граничные области и строят геометрические фигуры на основе непрерывных кластеров пикселей. В завершение эти границы математически преобразуются в стандартные элементы SVG <path> с использованием узлов сплайнов и кривых Безье.



Формат исходного изображения

Цифровые изображения обычно делятся на две архитектурные парадигмы: растровые и векторные. Растровое изображение (такое как JPEG, PNG или BMP) структурно определяется строгим 2D-массивом пикселей, где каждая фиксированная графическая координата сопоставлена с конкретными данными о цвете. Хотя эта матрица без труда справляется со сложными фотографическими градиентами и непрерывными тонами, она нативно страдает от серьезной деградации при масштабировании. Поскольку размеры сетки и количество пикселей жестко фиксированы, алгоритмы изменения размера математически вносят артефакты, размытость или агрессивное ступенчатое искажение. В рабочих процессах векторизации парсинг таких растровых структур требует серьезных математических вычислений для изоляции статических цветовых зон и их воссоздания в виде адаптивных, независимых от разрешения структур SVG.

Выходной формат SVG

SVG (Scalable Vector Graphics) – это язык на основе XML для описания двумерной векторной графики. В отличие от растровых форматов, основанных на пикселях, SVG хранит геометрию изображения в виде математических формул (путей, фигур, текста и SVG-фильтров). Архитектура, независимая от разрешения, позволяет бесконечно масштабировать изображение без потери качества. Стандартизированный W3C, формат SVG напрямую интегрируется с Web API, манипуляциями DOM и CSS, что делает его основным форматом для адаптивных веб-приложений, иконок и динамических визуализаций.

Начало работы с Aspose.SVG for .NET API

Установите из командной строки nuget install Aspose.SVG или через консоль диспетчера пакетов Visual Studio с помощью Install-Package Aspose.SVG. В качестве альтернативы можно получить автономный установщик MSI или DLL-файлы в ZIP-файле из загрузки. Aspose.SVG for .NET API является автономной библиотекой и не зависит от какого-либо программного обеспечения для обработки документов SVG. Дополнительные сведения об установке библиотеки C# и системных требованиях вы найдете в документации Aspose.SVG.

Другие поддерживаемые векторизаторы

Text to Vector (SVG Text)
JPG to SVG (JPEG Image)
PNG to SVG (Portable Network Graphics)
Image to SVG (Raster Image)
BMP to SVG (Microsoft Windows Bitmap)
GIF to SVG (Graphical Interchange Format)
TIFF to SVG (Tagged Image File Format)
Stencil Drawing (Stencil Maker)