Векторизация изображений или текста в C#

Конвертируйте изображения в вектор на C#. Поддерживаются JPG, JPEG, PNG, BMP, GIF, TIFF, ICO, WEBP и другие форматы.

Векторизация изображений

Растровое изображение – это карта пикселей (точек или зерен) на пленке, бумаге или экране. Каждый пиксель имеет свой цвет. Масштабирование растрового изображения приводит к появлению шума и размытия. Чтобы избежать таких артефактов, можно преобразовать растровое изображение в векторный формат, например SVG. Векторизация – это способ представления изображения в векторной форме, основанной не на пикселях, а на примитивах (точках, линиях, кривых), описываемых математическими выражениями. Линии и закрашенные области представлены как математические кривые, определенные декартовыми точками. Векторное изображение сохраняет все преимущества векторной графики и не пикселизируется при масштабировании.

Вы можете векторизовать изображение с помощью Aspose.SVG for .NET API в режиме реального времени. Попробуйте наш бесплатный Векторизатор и преобразуйте цветовую информацию пикселей в простые геометрические объекты! Пожалуйста, выберите изображение. Поддерживаются JPG, JPEG, PNG, BMP, GIF, TIFF, ICO, WEBP и другие растровые форматы.



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

Векторизатор Изображений имеет три области: Source, Quantized и Vectorized.

Source Image – область, содержащая исходное растровое изображение для векторизации.

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

Vectorized Image – область, содержащая векторизованное изображение и панель настроек. Можно задать значения tolerance, severity, tension и line-width. Подробности см. в статье Примеры векторизации изображений.

Как векторизовать изображение на C#

Конвертация изображения в вектор выполняется просто с помощью Aspose.SVG for .NET API. Пространство имен ImageVectorization включает классы и интерфейсы для реализации этого процесса. Следующий фрагмент кода демонстрирует использование класса ImageVectorizer для векторизации изображения:

Код C# для преобразования JPG в вектор

	// 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.jpg")))
    {
        // Save vectorized image as SVG file 
        document.Save(Path.Combine(OutputDir, "image.svg"));
    }

Узнать больше о векторизации изображений можно по ссылкам:

Текст в вектор

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

Как векторизовать текст в C#

Если вас интересует разработка масштабируемой графики, обратите внимание на наш API Aspose.SVG for .NET. Пространство имен Aspose.Svg.Saving включает класс SVGSaveOptions , позволяющий реализовать векторизацию текста. Для этого установите свойство VectorizeText в значение true:

Код C# для преобразования SVG текста в вектор

// Load an SVG document from a file
SVGDocument document = new SVGDocument("text.svg");
// Set text elements vectorization 
SVGSaveOptions saveOptions = new SVGSaveOptions
{
    VectorizeText = true
};
// Save the SVG document with specified saveOptions
document.Save("text_vectorized.svg", saveOptions);

Больше информации в статье Текст в вектор .

Установка библиотеки Aspose.SVG for .NET

Aspose.SVG for .NET – это гибкая кроссплатформенная библиотека для обработки и рендеринга SVG-документов. Она легко интегрируется в приложения .NET и позволяет работать с DOM, совместимым со спецификациями SVG. API можно использовать с любым языком .NET (C#, VB.NET, ASP.NET и др.). Библиотека работает на любой ОС, поддерживающей Mono или .NET Core, включая Windows, Linux и macOS.

Установка через NuGet:

Установка Aspose.SVG for .NET через NuGet :

  1. Использование консоли диспетчера пакетов. Откройте Microsoft Visual Studio и консоль диспетчера пакетов из меню, чтобы открыть консоль диспетчера пакетов. Затем введите команду Install-Package Aspose.SVG и нажмите Enter для установки.
  2. Использование графического интерфейса диспетчера пакетов NuGet. Откройте Microsoft Visual Studio и Управление пакетами NuGet из меню, чтобы открыть диспетчер пакетов. Найдите «Aspose.SVG», выберите и нажмите «Установить».

Дополнительные сведения об установке библиотеки C# вы найдете в документации Aspose.SVG.

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

Вы можете конвертировать растровое изображение в векторное – поддерживаются форматы JPG, PNG, BMP, GIF, TIFF, ICO и др.: