Перетворення SVG

Зображення повсюди в Інтернеті. Давайте дослідимо роботу з кількома популярними форматами зображень, включаючи зображення EMF, WMF і SVG. У цій статті ви розглянете стиснення векторних зображень EMF, WMF і SVG до EMZ, WMZ і SVGZ відповідно. Крім того, ми також навчимося перетворювати векторні зображення EMF, WMF і SVG на растрові зображення, такі як PNG, за допомогою C#. Нижче наведено випадки використання, які ми будемо вивчати:

Файли векторних зображень часто мають величезний розмір, тому стиснення та розтискання таких зображень корисно, коли потрібно передати файли через мережу. Давайте дізнаємося про перетворення за допомогою Aspose.Imaging for .NET API.

Перетворення EMF на EMZ за допомогою C#

Файл EMZ насправді є стиснутою формою зображення EMF. Ви можете конвертувати EMF в EMZ, виконавши наступні кроки:

  1. Завантажте зображення джерела ЕМП
  2. Ініціалізація об’єкта VectorRasterizationOptions.
  3. Зберегти зображення, вказавши EmfOptions

Наведений нижче фрагмент коду показує, як перетворити EMF на EMZ за допомогою C#:

string file = "input.emf";
string inputFile = dataDir + file;
string outFile = inputFile + ".emz";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new EmfRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new EmfOptions() { VectorRasterizationOptions = vectorRasterizationOptions, Compress = true });
}

Перетворення EMZ на EMF за допомогою C#

Якщо ви отримали стиснений файл EMZ і хочете перетворити EMZ на EMF, виконайте наведені нижче дії.

  1. Завантажити вихідний файл EMZ
  2. Ініціалізація об’єкта EmfRasterizationOptions.
  3. Зберегти зображення, вказавши EmfOptions

Наведений нижче фрагмент коду пояснює, як перетворити EMZ на EMF за допомогою C#:

string file = "example.emz";
string inputFile = dataDir + file;
string outFile = inputFile + ".emf";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new EmfRasterizationOptions { PageSize = image.Size };
    image.Save(outFile, new EmfOptions { VectorRasterizationOptions = vectorRasterizationOptions });
}

Перетворення WMF на WMZ за допомогою C#

Ви можете стискати зображення WMF за допомогою API Aspose.Imaging for .NET. Процес стиснення перетворює WMF на WMZ за допомогою наступних кроків:

  1. Завантажити вихідний файл WMF
  2. Ініціалізація об’єкта WmfRasterizationOptions.
  3. Збережіть зображення за допомогою WmfOptions

Наведений нижче фрагмент коду показує, як конвертувати WMF у WMZ за допомогою C#:

string file = "castle.wmf";
string inputFile = dataDir + file;
string outFile = inputFile + ".wmz";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new WmfRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new WmfOptions() { VectorRasterizationOptions = vectorRasterizationOptions, Compress = true });
}

Перетворення WMZ на WMF за допомогою C#

Як ми вже навчилися стискати зображення WMF. API Aspose.Imaging for .NET дозволяє розпакувати файли WMZ і конвертувати такі файли WMZ у файл WMF. Ви повинні виконати наступні кроки для перетворення:

  1. Завантажити вхідний файл WMZ
  2. Оголошіть екземпляр класу WmfRasterizationOptions.
  3. Збережіть вихідне зображення як файл WMF

Наведений нижче фрагмент коду показує, як конвертувати WMZ у WMF за допомогою C#:

string file = "example.wmz";
string inputFile = dataDir + file;
string outFile = inputFile + ".wmf";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new WmfRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new WmfOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

Перетворення SVG на SVGZ за допомогою C#

Зображення SVG широко використовуються для відображення високоякісної та складної графіки. Ви можете стиснути такі векторні зображення та конвертувати SVG у SVGZ, виконавши наведені нижче дії.

  1. Завантажити вхідний файл SVG
  2. Ініціалізувати об’єкт VectorRasterizationOptions.
  3. Збережіть вихідне зображення SVGZ за допомогою SvgOptions

Наступний фрагмент коду показує, як конвертувати SVG у SVGZ за допомогою C#:

string file = "Example.svg";
string inputFile = dataDir + file;
string outFile = inputFile + ".svgz";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new SvgRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new SvgOptions() { VectorRasterizationOptions = vectorRasterizationOptions, Compress = true });
}

Перетворення SVGZ на SVG за допомогою C#

Ви можете розпакувати файл SVGZ і перетворити SVGZ на SVG, виконавши прості кроки нижче:

  1. Завантажити вхідний файл SVGZ
  2. Укажіть екземпляр SvgRasterizationOptions.
  3. Збережіть зображення SVG за допомогою SvgOptions

У наведеному нижче фрагменті коду показано, як перетворити SVGZ на SVG за допомогою C#:

string file = "example.svgz";
string inputFile = dataDir + file;
string outFile = inputFile + ".svg";
using (var image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = new SvgRasterizationOptions() { PageSize = image.Size };
    image.Save(outFile, new SvgOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

Отже, ви навчилися стискати та розтискати зображення у векторному форматі, включаючи зображення EMZ, WMZ і SVGZ. Давайте підемо далі і розберемося, як конвертувати такі файли зображень у растрові.

Перетворення EMZ на PNG за допомогою C#

EMZ — це стиснута форма зображення ЕМП. Ви можете безпосередньо конвертувати його у формат растрового зображення, наприклад PNG або JPG. Вам не потрібно спочатку розтискати зображення, а потім конвертувати його. Будь ласка, виконайте наведені нижче дії, щоб конвертувати зображення EMZ у PNG:

  1. Завантажити вхідне зображення EMZ
  2. Ініціалізація екземпляра класу VectorRasterizationOptions.
  3. Збережіть putput PNG-зображення за допомогою PngOptions

Наведений нижче фрагмент коду показує, як перетворити зображення EMZ на PNG за допомогою C#:

string file = "example.emz";           
string inputFile = dataDir + file;
string outFile = inputFile + ".png";
using (Image image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = (VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
    image.Save(outFile, new PngOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

Перетворення WMZ на PNG за допомогою C#

Тепер давайте навчимося перетворювати стислі файли WMF, WMZ, безпосередньо в PNG. Наведені нижче кроки перетворять WMZ у PNG:

  1. Завантажте вихідний файл зображення WMZ
  2. Оголосити об’єкт класу VectorRasterizationOptions.
  3. Збережіть файл зображення PNG за допомогою класу PngOptions.

Наведений нижче фрагмент коду виконує ці дії та показує, як конвертувати WMZ у PNG за допомогою C#:

string file = "example.wmz";           
string inputFile = dataDir + file;
string outFile = inputFile + ".png";
using (Image image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = (VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
    image.Save(outFile, new PngOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

Перетворення SVGZ на PNG за допомогою C#

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

  • Завантажити вихідний файл зображення SVGZ
  • Ініціалізуйте об’єкт класу VectorRasterizationOptions.
  • Збережіть вихідний файл PNG, вказавши PngOptions

Наведений нижче фрагмент коду базується на цих кроках, які пояснюють, як перетворити SVGZ на PNG за допомогою C#:

string file = "example.svgz";           
string inputFile = dataDir + file;
string outFile = inputFile + ".png";
using (Image image = Image.Load(inputFile))
{
    VectorRasterizationOptions vectorRasterizationOptions = (VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
    image.Save(outFile, new PngOptions() { VectorRasterizationOptions = vectorRasterizationOptions });
}

Висновок

Ми обговорювали стиснення та розтискання форматів векторних зображень, що корисно для передачі файлів. Цей підхід також підходить, коли ви хочете архівувати такі зображення. Наприклад, ви можете стиснути такі векторні зображення перед архівуванням і пізніше розпакувати відповідно до ваших вимог. Крім того, ми також досліджували перетворення стислих векторних зображень у растрові за допомогою API Aspose.Imaging for .NET. Крім того, ви можете ознайомитися з Довідником API і Документацією API. Не соромтеся зв’язуватися з нами на безкоштовному форумі підтримки у разі будь-яких проблем.

Дивись також