Як створити GIF із зображень у C#

У цьому покроковому посібнику описано, як створити GIF із зображень у C#. У ньому наведено докладні кроки для налаштування середовища разом із логічним процесом програми, щоб легко зрозуміти процес. За допомогою C# анімованого GIF код створення також надається в кінці, який використовує різні типи зображень, наприклад JPG, PNG і BMP, для створення файлу GIF.

Кроки для створення GIF із зображень у C#

  1. Створіть середовище для використання Aspose.Imaging for .NET у вашому проекті для створення GIF
  2. Створіть список raster images, використовуючи файли зображень на диску
  3. Створіть GIF image, використовуючи перше растрове зображення у списку
  4. Проаналізуйте решту списку та додайте кожне зображення до зображення GIF
  5. Збережіть зображення GIF на диску

Наведені вище кроки описують, як за допомогою C# створити GIF із зображень за допомогою покрокового підходу, коли спочатку всі зображення завантажуються в список об’єктів класу RasterImage, а потім створюється файл GIF за допомогою першого зображення в списку. Після створення GIF-зображення ви можете додати скільки завгодно зображень, щоб створити потрібне GIF-зображення.

Код для створення GIF із зображень у C#

using System.Collections.Generic;
using System.IO;
using System.Linq;
using Aspose.Imaging;
using Aspose.Imaging.FileFormats.Gif;
using Aspose.Imaging.FileFormats.Gif.Blocks;
namespace CreateGifFromImagesInCSharp
{
class Program
{
static void Main(string[] args) // Main function to create GIF from images in CSharp
{
// Load the license to create a GIF image without
// the trial version watermark in it
Aspose.Imaging.License licCreateGif= new Aspose.Imaging.License();
licCreateGif.SetLicense("Aspose.Imaging.lic");
// Get the list of raster images having pictures in it from the given folder
var rasterImages = LoadRasterImages("AnimationImages/").ToArray();
// From the first frame, create a GIF image
using (var gifImage = new GifImage(new GifFrameBlock(rasterImages[0])))
{
// Once the GIF is created, add rest of the frames in it
for (var imageIndex = 1; imageIndex < rasterImages.Length; imageIndex++)
{
// Add frame using the GifImage.AddPage function
gifImage.AddPage(rasterImages[imageIndex]);
}
// Save the output GIF image
gifImage.Save("Multipage.gif");
}
System.Console.WriteLine("Done");
}
//Function to load the images from the given directory into the collection of RasterImage
private static IEnumerable<RasterImage> LoadRasterImages(string directory)
{
foreach (var imagePath in Directory.GetFiles(directory))
{
yield return (RasterImage)Image.Load(imagePath);
}
}
}
}

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

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

 Українська