Converter GIF animado usando C#

Animado GIF (Graphics Interchange Format) contém vários quadros de imagem em uma ordem específica dentro de um único arquivo. Esses quadros são mostrados em uma sequência para criar a animação. Pode haver vários casos de uso quando você precisa converter GIFs animados para outros formatos de imagem de várias páginas ou raster. Os formatos de várias páginas incluem TIFF e PDF, enquanto as imagens raster podem ser PNG, JPG, BMP e etc. Neste artigo, mostrarei como converter imagens GIF animadas em TIFF, PDF, PNG. Imagens JPG e BMP programaticamente usando C#. Os exemplos de código fornecidos neste artigo também podem ser facilmente portados para o VB.NET.

API do Conversor GIF C#

Aspose.Imaging for .NET é uma API rica em recursos que suporta a manipulação de uma ampla variedade de formatos de imagem vetorial ou raster, incluindo os GIFs animados. Ele permite converter GIF animado para outros formatos de várias páginas, bem como imagens raster dentro do aplicativo .NET. Você pode instalar a API usando o NuGet Package Manager ou baixar e referenciar seu arquivo DLL manualmente.

Converter GIF animado para TIFF usando C#

TIFF é um formato de imagem de várias páginas que mantém várias imagens em um único arquivo. Como o GIF animado também contém uma sequência de quadros, você pode exportar todos os quadros ou quadros selecionados para o formato TIFF. Nesta conversão, cada quadro do GIF será convertido em uma página na imagem TIFF. A seguir estão as etapas para converter um GIF animado para o formato TIFF usando Aspose.Imaging para .NET.

O exemplo de código a seguir mostra como converter GIF em TIFF usando C#.

// Carregar arquivo GIF
using (var image = Image.Load(@"sample_2.gif"))
{      
	// Converter apenas quadros selecionados
	image.Save("Selected-Frames.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { MultiPageOptions = new MultiPageOptions(new IntRange(1, 3)), FullFrame = true });
	// Converter todos os quadros
	image.Save("GIF-to-TIFF.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { FullFrame = true });
}

Converter GIF animado em PDF usando C#

Em uma conversão de GIF animado para PDF, cada quadro do GIF é convertido em uma página separada dentro do PDF. Assim como GIF para TIFF, você pode especificar o intervalo de quadros que deseja obter no arquivo PDF convertido. A seguir estão as etapas para converter um GIF animado em PDF.

O exemplo de código a seguir mostra como converter GIF animado em PDF usando C#.

// Carregar arquivo GIF
using (Image image = Image.Load(@"sample_2.gif"))
{
	// Converter todos os quadros
	image.Save("GIF-to-PDF.pdf", new PdfOptions() { FullFrame = true });
  // Converter quadros selecionados
	image.Save("Selected-Frames-to-PDF.pdf", new PdfOptions() { MultiPageOptions = new MultiPageOptions(new IntRange(2, 5)), FullFrame = true });
}

Converter um quadro GIF em PNG, JPG ou BMP usando C#

Como o GIF animado contém uma sequência de quadros, você pode extrair o quadro desejado e convertê-lo em imagens raster, como PNG, JPG, BMP, etc.

Converter quadro GIF para PNG usando C#

A seguir estão as etapas para converter um quadro GIF em uma imagem PNG.

O exemplo de código a seguir mostra como converter um quadro de um GIF animado em PNG usando C#.

// Carregar imagem GIF
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // Converter frame 1 de GIF para PNG
	image.Save("converted-to-png.png", new PngOptions() { MultiPageOptions = new MultiPageOptions(1), FullFrame = true });
}

Converter quadro GIF para JPG usando C#

Aspose.Imaging expõe a classe JpegOptions para definir as opções ao converter um quadro GIF para a imagem JPG. O exemplo de código a seguir mostra como converter um quadro em GIF para JPG usando C#.

// Carregar imagem GIF
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // Converter frame 1 de GIF para JPG
	image.Save("converted-to-jpg.jpg", new JpegOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

Converter quadro GIF em BMP usando C#

Para conversão de GIF para BMP, a API fornece a classe BmpOptions. O exemplo de código a seguir mostra como converter um quadro GIF em BMP usando C#.

// Carregar imagem GIF
using (var image = Image.Load(@"Sample_2.gif"))
{
  // Converter frame 1 de GIF para BMP
	image.Save("converted-to-bmp.bmp", new BmpOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

Conclusão

Neste artigo, você aprendeu como converter um GIF animado em formatos de várias páginas, como TIFF e PDF, usando C#. Além disso, vimos como extrair um determinado quadro do GIF animado e convertê-lo em imagens PNG, JPG ou BMP. Você pode explorar mais sobre o Aspose.Imaging para .NET usando a documentação.

Veja também

Informações: Você pode querer conferir o [Text to GIF Converter] GRÁTIS 2 Aspose desenvolvido recentemente.