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

Анімований GIF(формат обміну графікою) містить кілька кадрів зображення в певному порядку в одному файлі. Ці кадри показуються в послідовності для створення анімації. Можуть бути різні випадки використання, коли вам потрібно конвертувати анімовані GIF-файли в інші формати багатосторінкових або растрових зображень. Багатосторінкові формати включають TIFF, а також PDF, тоді як растрові зображення можуть бути PNG, JPG, BMP тощо. У цій статті я покажу вам, як конвертувати анімовані зображення GIF у TIFF, PDF, PNG. Зображення JPG і BMP програмно за допомогою C#. Зразки коду, надані в цій статті, також можна легко перенести на VB.NET.

C# GIF Converter API

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

Перетворення анімованого GIF у TIFF за допомогою C#

TIFF — це багатосторінковий формат зображень, який зберігає кілька зображень в одному файлі. Оскільки анімований GIF також містить послідовність кадрів, ви можете експортувати всі або вибрані кадри у формат TIFF. Під час цього перетворення кожен кадр GIF буде перетворено на сторінку зображення TIFF. Нижче наведено кроки для перетворення анімованого GIF у формат TIFF за допомогою Aspose.Imaging for .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 Frame на JPG за допомогою C#

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 for .NET за допомогою документації.

Дивись також

Інформація: Ви можете ознайомитись із нещодавно розробленим БЕЗКОШТОВНИМ конвертером тексту в GIF Aspose.