Конвертировать 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. Загрузите исходное изображение EMF
  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 с помощью Aspose.Imaging for .NET API. Процесс сжатия преобразует 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. Aspose.Imaging for .NET API позволяет распаковывать файлы 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 — это сжатая форма изображения EMF. Вы можете напрямую преобразовать его в формат растрового изображения, такой как PNG или JPG. Вам не нужно сначала распаковывать изображение, а затем конвертировать его. Пожалуйста, выполните следующие шаги, чтобы преобразовать изображение EMZ в PNG:

  1. Загрузить входное изображение EMZ
  2. Инициализировать экземпляр класса VectorRasterizationOptions
  3. Сохраните изображение в формате 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 });
}

Вывод

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

Смотрите также