Ce didacticiel étape par étape décrit comment créer GIF à partir d’images en C#. Il fournit des étapes détaillées pour configurer l’environnement ainsi que le flux logique du programme pour comprendre facilement le processus. En utilisant C# GIF animé, un code de création est également fourni à la fin qui utilise différents types d’images comme JPG, PNG et BMP pour créer un fichier GIF.
Étapes pour créer un GIF à partir d’images en C#
- Établissez l’environnement à utiliser Aspose.Imaging for .NET dans votre projet pour créer un GIF
- Créez une liste de raster images à l’aide des fichiers image sur le disque
- Créez un GIF image en utilisant la première image raster de la liste
- Analysez la liste restante et ajoutez chaque image à l’image GIF
- Enregistrez l’image GIF sur le disque
Les étapes ci-dessus décrivent comment, à l’aide de C#, créez un GIF à partir d’images en partageant l’approche étape par étape où toutes les images sont d’abord chargées dans une liste d’objets de classe RasterImage, puis un fichier GIF est créé en utilisant le premier image dans la liste. Une fois l’image GIF créée, vous pouvez maintenant ajouter autant d’images que vous le souhaitez pour créer l’image GIF requise.
Code pour créer un GIF à partir d’images en 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); | |
} | |
} | |
} | |
} |
Ce code montre comment utiliser C# pour créer un GIF animé en suivant les étapes ci-dessus. Lorsque nous créons un GIF à partir de la première image, nous pouvons également définir la palette de couleurs et si nous ne définissons pas comme dans l’exemple ci-dessus, la palette de couleurs par défaut est utilisée. De plus, lors du chargement des images du disque dans la liste, vous pouvez utiliser l’objet de classe LoadOptions qui prend en charge la définition de la source de police personnalisée, la définition de la taille de la mémoire tampon pour gérer les images volumineuses et la définition de la couleur d’arrière-plan des données lorsque la valeur du pixel ne peut pas être récupérée en raison de certains les erreurs.
Cet article nous a appris que l’utilisation de C# crée un GIF à l’aide de quelques lignes de code seulement. Si vous êtes intéressé par d’autres fonctionnalités telles que la rotation des images, consultez l’article sur comment faire pivoter une image en C#.