Векторизация растровых изображений
Вы готовы перейти от пиксельного изображения к векторному?
Что такое векторизация изображения?
Векторизация изображений – это процесс преобразования стандартных растровых изображений в математически масштабируемую векторную графику: кривые Безье, сплайны и линии. Основное преимущество векторизации заключается в том, что ваши изображения никогда не будут пикселизироваться при увеличении. Масштабирование без потери качества, компактные размеры файлов и поддержка анимации – лишь некоторые преимущества использования векторной графики. С помощью Aspose.SVG for .NET API можно реализовать высокоскоростной процесс векторизации в C#, обеспечивающий полный контроль над трассировкой растровых изображений и их преобразованием в файлы SVG.
Онлайн Векторизатор изображений
Интерактивный Векторизатор изображений позволяет мгновенно преобразовывать растровые изображения в векторную графику. Он создает точные геометрические фигуры, состоящие из кривых Безье и линий, сохраняя все элементы в файл SVG. Инструмент поддерживает стандартные растровые форматы, включая JPEG, PNG, BMP, ICO, GIF, TIFF и WEBP. Вы можете протестировать различные варианты векторизации, такие как ограничение цветов и сглаживание, прямо в браузере перед загрузкой готовой графики.
Как использовать Векторизатор Изображений?
- Загрузите исходное растровое изображение из локальной файловой системы. Интерфейс отображает три панели: Source Image, Quantized Image и Vectorized Image.
- Движок обрабатывает
Imageс параметрами по умолчанию. Для оптимизации SVG-вывода используйте боковые панели для настройки параметров квантования и векторизации. Нажмите Quantize для предварительного просмотра уменьшения палитры, затем Vectorize для отрисовки SVG-путей. - Нажмите Download, чтобы сохранить сгенерированный векторный файл.
Параметры квантования (Quantization Options)
Настройте эти параметры, чтобы управлять тем, как алгоритм группирует пиксели и уменьшает исходную цветовую палитру:
- colors – задает точное ограничение максимального размера палитры.
- method – переключение между алгоритмами квантования цвета на основе гистограммы.
- minHueCols – управляет пороговыми значениями чувствительности при обработке цветовых градиентов.
- scale – регулирует коэффициент масштабирования для более точной или грубой выборки цветов.
- grayscale – принудительно переводит вывод в монохромные границы.
Параметры векторизации (Vectorization Options)
Управляет поведением геометрической трассировки, применяемой к квантованной карте:
- threshold – определяет ограничение чувствительности пикселей для обнаружения граничных контуров.
- severity – изменяет сглаживание контуров с использованием пространственного размера ближайшего соседа.
- line-width – определяет толщину штриха, назначаемую генерируемым SVG-линиям.
- stencil – применяет двоичную маску контура, идеальную для преобразования фотографий с непрерывными тонами в трафаретные силуэты.
- trace paths – переключает визуальный рендеринг контрольных точек кривых Безье и сплайнов, используемых для построения сегментов.
Как векторизовать изображение на C#
Aspose.SVG for .NET API
предоставляет пространство имен
ImageVectorization
, которое берет на себя основные задачи по преобразованию изображений в векторы. С помощью этих классов можно контролировать параметры предварительной обработки, такие как настройка ColorsLimit для упрощения изображения или применение TraceSmoother внутри PathBuilder для устранения неровностей пиксельных границ перед сохранением в векторном формате.
Векторизация изображений на 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 = 25,
LineWidth = 1
}
};
// Vectorize image from the specified file
using (SVGDocument document = vectorizer.Vectorize(Path.Combine(DataDir, "image.png")))
{
// Save vectorized image as SVG file
document.Save(Path.Combine(OutputDir, "image.svg"));
}
Шаги векторизации изображения на C#
Преобразование растрового изображения в масштабируемую векторную модель на C# включает три основных шага:
- Инициализируйте экземпляр класса
ImageVectorizer
и настройте свойства
Configuration
.
- Используйте
ColorsLimitдля определения максимального количества цветов трассировки, чтобы оптимизировать размер изображения. - Назначьте BezierPathBuilder для построения плавных кривых на основе пиксельных контуров.
- Примените ImageTraceSmoother для аккуратного сглаживания резких или неровных краев.
- Используйте
- Вызовите метод
Vectorize()
, передав путь к исходному изображению, для создания
SVGDocument. - Сохраните полученное векторное изображение в файловую систему с помощью метода Save() .
Векторизация изображений в документации
Масштабируемая векторная графика (SVG) является стандартом для рендеринга высококачественной веб-графики, так как позволяет сохранять четкость при любых размерах экрана. Чтобы понять, как работает этот процесс, изучите руководство
Векторизация – базовый обзор
.
- Image Vectorization Workflow – содержит подробное описание опций векторизации и процесса трассировки растровых изображений в документы SVG.
- Image Vectorization Examples – примеры на C#, демонстрирующие влияние настроек конфигурации на финальный результат векторизации.
FAQ
Вы можете использовать класс ImageVectorizer в Aspose.SVG для синтаксического анализа и преобразования растров Image в контуры SVG. API для .NET предоставляет прямой доступ к алгоритмам квантования, построителям путей и параметрам сглаживания, выполняя преобразование независимо от стороннего графического программного обеспечения.
Векторизация анализирует плоский двухмерный массив пикселей исходного растрового изображения и реконструирует его визуальные данные в виде математических линий, кривых Безье и геометрических фигур. Это преобразует растровые файлы, жестко зависящие от разрешения, в универсально масштабируемые векторные элементы.
Векторизация растровых ресурсов, таких как логотипы, чертежи и технические диаграммы, обеспечивает бесконечное масштабирование без потери качества. За счет автоматизации этого процесса разработчики получают возможность динамически генерировать адаптивные элементы пользовательского интерфейса или графику, готовую к печати и независимую от исходного разрешения, прямо на своей серверной инфраструктуре.
Сначала алгоритм векторизации применяет цветовую квантизацию для группировки схожих пикселей и снижения визуального шума. Затем функции трассировки контуров выявляют граничные области и строят геометрические фигуры на основе непрерывных кластеров пикселей. В завершение эти границы математически преобразуются в стандартные элементы SVG <path> с использованием узлов сплайнов и кривых Безье.
Начало работы с 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.Другие поддерживаемые векторизаторы
Ознакомьтесь с другими Векторизаторами изображений, чтобы оценить все преимущества векторной графики!