Векторизація зображень – код C# і онлайн-векторізатор

Ви готові перейти до векторного малювання?

Що таке векторизація зображення?

Векторизація зображень – це процес перетворення растрових зображень у векторну графіку – криві Без’є, сплайни та лінії. Векторизація корисна, оскільки зображення не буде пікселізуватися, якщо ви його збільшите. Масштабування без втрати якості, невеликий розмір файлу та підтримка анімації - це лише деякі переваги векторизованих зображень. Незалежно від того, чи займаєтеся ви живописом, дизайном, мистецтвом, поліграфією, архітектурою чи веб-розробкою, векторні зображення є невід’ємною частиною вашої професії. З іншого боку, ви просто можете експериментувати із зображеннями та отримати веселі ефекти векторизації. У цій статті ми розглянемо, як перетворити зображення на векторну графіку в C# або за допомогою онлайн-векторізатора зображень.


Онлайн Векторизатор Зображень

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


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

  1. Спочатку завантажте растрове зображення з локальної файлової системи у форматі JPEG, JPG, PJP, PJPEG, WEBP, PNG, BMP, ICO, GIF, TIFF, XBM або іншому растровому форматі. Ви побачите три вікна – вихідне зображення, квантоване зображення та векторизоване зображення – з попереднім переглядом початкових, квантованих за кольором і векторизованих зображень.
  2. Image Vectorizer перетворює Image у вектор із налаштуваннями за замовчуванням, і ви можете завантажити векторизований Image як файл SVG. Але для отримання кращого результату ви можете керувати процесами квантування та векторизації за допомогою двох бічних панелей налаштувань. Натисніть кнопку «Quantize», щоб застосувати параметри квантування, натисніть кнопку «Vectorize», щоб застосувати параметри векторизації та конвертувати Image у SVG.
  3. Натисніть кнопку «Download», щоб отримати результат.

Image Vectorizer перетворює растрові растрові зображення у векторні ілюстрації, створені з контурів. Алгоритм векторизації включає наступні кроки: квантування кольорів, трасування контурів, згладжування траси, спрощення траси та створення елементів шляху SVG із трас. Застосуйте власні налаштування, щоб отримати найкращий результат векторизації Image.

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

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

  • colors - бажаний розмір палітри;
  • method - гістограмні методи, які реалізують різноманітні алгоритми квантування кольорів;
  • minHueCols - параметр, який працює з градієнтами кольорів;
  • scale - or scaling factor - налаштовується для більш точної або грубішої вибірки кольорів;;
  • grayscale - ви можете перетворити зображення на градації сірого, натиснувши прапорець.

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

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

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

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

Aspose.SVG для .NET API пропонує високошвидкісну бібліотеку C#, яку можна використовувати для різних завдань аналізу SVG. Простір імен ImageVectorization містить класи та інтерфейси для впровадження процесу векторизації зображень і роботи з різними параметрами попередньої обробки зображень перед їх збереженням у векторному форматі. Обробка передбачає керування такими параметрами векторизації: TraceSimplifier, TraceSmoother, PathBuilder тощо.


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

	// 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.png");
    // Save vectorized Image as SVG file 
	document.Save(OutputFolder + "image.svg");

Кроки для векторизації зображення на C#

  1. Ініціалізуйте екземпляр класу ImageVectorizer. Використовуйте один із конструкторів ImageVectorizer() і вкажіть властивості конфігурації.
    • Властивість TraceSmoother встановлює плавність трасування. Використовується для згладжування фрагментів контурів.
    • Властивість TraceSimplifier встановлює спрощення трасування. У результаті крива трасування буде побудована з відрізків лінії з меншою кількістю (або більшою кількістю) точок.
    • Властивість PathBuilder встановлює конструктор сегментів шляху SVG і впливає на те, наскільки різко вигинається крива в контрольних точках.
  2. Векторизуйте зображення з указаного файлу. Метод Vectorize() приймає шлях до файлу зображення та повертає SVGDocument.
  3. Збережіть векторизоване зображення як файл SVG. Використовуйте метод Save() і передайте йому вихідний шлях.

Векторизація зображень у документації

  • Робочий процес векторизації зображень - Ви знайдете інформацію про векторизацію зображень, опис процесу векторизації зображень і параметрів векторизації, дізнайтеся, як векторизувати растрові зображення, такі як PNG, JPG, BMP, TIFF, GIF, ICO, у документ SVG.
  • Приклади векторизації зображень - Ви розглянете кілька прикладів C# які демонструють функціональність ImageVectorization і вплив властивостей конфігурації на результат векторизації.

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


FAQ

1. Як векторизувати Image?

Aspose.SVG дозволяє конвертувати Image у SVG будь-яким способом – онлайн чи програмно. Наприклад, ви можете векторизувати Image у реальному часі за допомогою Online Image Vectorizer , який перетворює ваші зображення швидко та з високою якістю. З іншого боку, ви можете використовувати Aspose.SVG для .NET API для програмної векторизації Image.

2. Що таке перетворення растру у вектор?

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

Початок роботи з .NET SVG API

Якщо ви зацікавлені в розробці масштабованої векторної графіки та її застосуванні, встановіть наш гнучкий, високошвидкісний Aspose.SVG для .NET API із потужним набором інтерфейсів для C# та інших мов програмування .NET.
Встановіть із командного рядка як nuget install Aspose.SVG або через консоль диспетчера пакетів Visual Studio за допомогою Install-Package Aspose.SVG. Крім того, отримайте офлайн-інсталятор MSI або бібліотеки DLL у ZIP-файлі з завантажень. Aspose.SVG для .NET API – це окрема бібліотека, яка не залежить від будь-яке програмне забезпечення для обробки документів SVG.
Щоб отримати докладніші відомості про встановлення бібліотеки C# і системні вимоги, зверніться до документації Aspose.SVG.

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

Заощадьте час і перевірте ці Векторизатори Зображень, щоб отримати всі переваги векторної графіки!

Text to Vector (SVG Text)
Stencil Drawing (Stencil images)
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)
TIF to SVG (Tagged Image File Format)
ICO to SVG (Windows Icon)