Преобразование анимированного GIF с помощью C#

Анимированный GIF (формат обмена графикой) содержит несколько кадров изображения в определенном порядке в одном файле. Эти кадры показаны в последовательности для создания анимации. Могут быть различные варианты использования, когда вам нужно преобразовать анимированные GIF-файлы в другие форматы многостраничных или растровых изображений. Многостраничные форматы включают TIFF, а также PDF, тогда как растровые изображения могут быть PNG, JPG, BMP и т. д. В этой статье я покажу вам, как конвертировать анимированные изображения GIF в TIFF, PDF, PNG. Изображения JPG и BMP программно с использованием C#. Примеры кода, представленные в этой статье, также можно легко перенести на VB.NET.

C# API конвертера GIF

Aspose.Imaging for .NET — это многофункциональный API, который поддерживает работу с широким диапазоном векторных и растровых форматов изображений, включая анимированные GIF-файлы. Он позволяет конвертировать анимированные GIF в другие многостраничные форматы, а также растровые изображения в приложении .NET. Вы можете установить API с помощью Диспетчера пакетов NuGet или загрузить и указать ссылку на его файл DLL вручную.

Преобразование анимированного GIF в TIFF с помощью C#

TIFF — это формат многостраничных изображений, в котором несколько изображений хранятся в одном файле. Поскольку анимированный GIF также содержит последовательность кадров, вы можете экспортировать все или выбранные кадры в формат TIFF. При этом преобразовании каждый кадр в формате GIF будет преобразован в страницу изображения в формате TIFF. Ниже приведены шаги для преобразования анимированного GIF в формат TIFF с помощью Aspose.Imaging для .NET.

  • Загрузите изображение GIF в объект Image с помощью метода Image.Load(String).
  • Используйте класс MultiPageOptions, чтобы указать диапазон кадров, которые вы хотите преобразовать (необязательно).
  • Преобразование GIF в TIFF с помощью метода Image.Save(String, TiffOptions).

В следующем примере кода показано, как преобразовать GIF в TIFF с помощью C#.

// Загрузить GIF-файл
using (var image = Image.Load(@"sample_2.gif"))
{      
	// Конвертировать только выбранные кадры
	image.Save("Selected-Frames.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { MultiPageOptions = new MultiPageOptions(new IntRange(1, 3)), FullFrame = true });
	// Конвертировать все кадры
	image.Save("GIF-to-TIFF.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { FullFrame = true });
}

Преобразование анимированного GIF в PDF с помощью C#

При преобразовании анимированного GIF в PDF каждый кадр GIF преобразуется в отдельную страницу в PDF. Так же, как GIF в TIFF, вы можете указать диапазон кадров, который вы хотите получить в преобразованном файле PDF. Ниже приведены шаги для преобразования анимированного GIF в PDF.

  • Создайте экземпляр класса Image и загрузите анимированный файл GIF.
  • Используйте класс MultiPageOptions, чтобы указать диапазон кадров (необязательно).
  • Сохраните изображение в формате PDF, используя метод Image.Save(String, PdfOptions).

В следующем примере кода показано, как преобразовать анимированный GIF в PDF с помощью C#.

// Загрузить GIF-файл
using (Image image = Image.Load(@"sample_2.gif"))
{
	// Конвертировать все кадры
	image.Save("GIF-to-PDF.pdf", new PdfOptions() { FullFrame = true });
  // Конвертировать выбранные кадры
	image.Save("Selected-Frames-to-PDF.pdf", new PdfOptions() { MultiPageOptions = new MultiPageOptions(new IntRange(2, 5)), FullFrame = true });
}

Преобразование кадра GIF в PNG, JPG или BMP с помощью C#

Поскольку анимированный GIF содержит последовательность кадров, вы можете извлечь нужный кадр и преобразовать его в растровые изображения, такие как PNG, JPG, BMP и т. д.

Преобразование кадра GIF в PNG с помощью C#

Ниже приведены шаги для преобразования кадра GIF в изображение PNG.

  • Загрузите анимированное изображение GIF с помощью метода Image.Load(String).
  • Преобразуйте кадр GIF в PNG, используя метод Image.Save(String, PngOptions), указав номер кадра.

В следующем примере кода показано, как преобразовать кадр анимированного GIF в PNG с помощью C#.

// Загрузить GIF-изображение
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // Преобразование кадра 1 GIF в PNG
	image.Save("converted-to-png.png", new PngOptions() { MultiPageOptions = new MultiPageOptions(1), FullFrame = true });
}

Преобразование кадра GIF в JPG с помощью С#

Aspose.Imaging предоставляет класс JpegOptions для установки параметров при преобразовании кадра GIF в изображение JPG. В следующем примере кода показано, как преобразовать кадр из GIF в JPG с помощью C#.

// Загрузить GIF-изображение
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // Преобразование кадра 1 GIF в JPG
	image.Save("converted-to-jpg.jpg", new JpegOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

Преобразование кадра GIF в BMP с помощью C#

Для преобразования GIF в BMP API предоставляет класс BmpOptions. В следующем примере кода показано, как преобразовать кадр GIF в BMP с помощью C#.

// Загрузить GIF-изображение
using (var image = Image.Load(@"Sample_2.gif"))
{
  // Преобразование кадра 1 GIF в BMP
	image.Save("converted-to-bmp.bmp", new BmpOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

Вывод

В этой статье вы узнали, как преобразовать анимированный GIF в многостраничные форматы, такие как TIFF и PDF, с помощью C#. Кроме того, мы увидели, как извлечь конкретный кадр из анимированного GIF и преобразовать его в изображения PNG, JPG или BMP. Вы можете узнать больше об Aspose.Imaging для .NET, используя документацию.

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

Информация: вы можете попробовать БЕСПЛАТНЫЙ конвертер текста в GIF Aspose, недавно разработанный.