Векторизація зображення або тексту на C#

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

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

Растрове зображення – це карта пікселів – точок або зерен – на плівці, папері чи екрані. Кожен піксель має свій колір. Масштабування растрового зображення призводить до появи на ньому шумів і розмитості. Щоб уникнути таких артефактів, ви можете перетворити растрове зображення у векторний формат, наприклад, у графіку SVG. Векторизація зображення – це спосіб представлення зображення у векторній формі. Векторне зображення базується на формулі – воно базується не на пікселях, а на примітивах, таких як точки, лінії, криві, які представлені математичними виразами. Лінії та зафарбовані кольорові області на таких зображеннях представлені у вигляді математичних кривих, які визначаються декартовими точками, з’єднаними шляхами, які утворюють їх. Векторне зображення матиме всі переваги векторної графіки та не буде піксельовано під час масштабування.

Ви можете векторизувати зображення за допомогою Aspose.SVG для .NET API у режимі реального часу. Спробуйте наш безкоштовний Image Vectorizer і перетворите інформацію про колір пікселів у прості геометричні об’єкти! Виберіть зображення для векторизації. Підтримуються JPG, JPEG, PJP, PJPEG, PNG, BMP, XBM, GIF, TIFF, ICO, IFIF, WEBP та інші растрові формати.



Як використовувати Image Vectorizer?

Векторізатор зображень має три області: вихідне зображення (Source Image), квантоване зображення (Quantized Image) та векторизоване зображення (Vectorized Image).

Source Image - ця область містить вихідне растрове зображення для векторизації.

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

Vectorized Image - ця область містить векторизоване зображення та бічну панель налаштувань. Ви можете встановити значення допуску, жорсткості, натягу та ширини лінії. Щоб дізнатися більше про параметри векторизації зображень, перегляньте статтю документації Приклади векторизації зображень.

Як векторизувати зображення на C#

Перетворити зображення на векторне дуже легко за допомогою Aspose.SVG для .NET API. Простір імен ImageVectorization містить класи та інтерфейси для реалізації процесу векторизації зображення. Наведений нижче фрагмент коду демонструє використання класу ImageVectorizer для векторизації JPG зображення:

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

	// Initialize an instance of the ImageVectorizer class
	var vectorizer = new ImageVectorizer
    {
		//optionally set configuration
        Configuration =
        {
			//optionally set path builder
            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 var document = vectorizer.Vectorize(InputFolder + "image.jpg");
    // Save vectorized image as SVG file 
	document.Save(OutputFolder + "example.svg");

Ви можете дізнатися більше про векторизацію зображень, перейшовши за посиланнями:

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

Ми хотіли б поділитися з вами функцією векторизації текстових елементів у документі SVG. Векторизація тексту – це процес перетворення тексту в цифрову графіку. У векторизованому тексті SVG усі гліфи шрифту замінено комбінацією елементів path, use, mask, g тощо. Таким чином, векторизація сприяє захисту тексту від простого копіювання, небажаного використання, запозичення та модифікації.

Як векторизувати текст у C#

Якщо ви зацікавлені в розробці масштабованої векторної графіки та її застосуванні, перегляньте наш гнучкий, високошвидкісний Aspose.SVG для .NET API з потужним набором інтерфейсів для C# та інших мов програмування .NET. Простір імен Aspose.Svg.Saving містить SVGSaveOptions клас, який дозволяє реалізувати процес векторизації тексту. Щоб векторизувати текст, установіть для властивості VectorizeText класу SVGSaveOptions значення true:

Код C# для перетворення тексту SVG у векторний вигляд

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

Ви можете дізнатися більше про векторизацію тексту, натиснувши посилання - Текст у вектор.

Встановлення бібліотеки Aspose.SVG для .NET

Aspose.SVG для .NET є кросплатформним гнучка бібліотека, розроблена для надання широкого спектру функцій для обробки та відтворення документів SVG. Вона легко інтегрується у ваші програми .NET, щоб забезпечити обробку та рендеринг файлів SVG без встановлення стороннього програмного забезпечення для моделювання чи рендерингу. Aspose.SVG для .NET пропонує розробникам працювати з його DOM, який повністю сумісний з офіційними специфікаціями SVG. Наш API можна використовувати з будь-якою мовою .NET, як-от C#, VB.NET, ASP.NET тощо. Він однаково добре працює на будь-якій ОС, яка може інсталювати Mono (підтримка .NET 4.0 Framework) або використовувати ядро ​​.NET. Це включає Windows, Linux і macOS.

Встановлення Aspose.SVG для .NET через NuGet :

  1. Використання консолі диспетчера пакетів. Відкрийте Microsoft Visual Studio та консоль диспетчера пакунків із меню, щоб відкрити консоль диспетчера пакетів. Потім введіть команду Install-Package Aspose.SVG і натисніть Enter, щоб встановити.
  2. Використання графічного інтерфейсу користувача NuGet Package Manager. Відкрийте Microsoft Visual Studio та Керуйте пакетами NuGet у меню, щоб відкрити диспетчер пакетів. Знайдіть «Aspose.SVG», виберіть і натисніть «Встановити».

Додаткову інформацію про встановлення бібліотеки C# ви знайдете у документації Aspose.SVG.

Інші підтримувані Векторизатори

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