C#を使用してアニメーションGIFを変換する

アニメーションGIF(Graphics Interchange Format)には、1つのファイル内に特定の順序で多数の画像フレームが含まれています。これらのフレームは、アニメーションを作成するために順番に表示されます。アニメーションGIFを他のマルチページまたはラスター画像形式に変換する必要がある場合は、さまざまな使用例があります。マルチページ形式にはPDFだけでなくTIFFも含まれますが、ラスター画像はPNG、JPG、BMPなどです。この記事では、アニメーションGIF画像をTIFF、PDF、PNGに変換する方法を紹介します。 JPG、およびC#を使用してプログラムでBMP画像。この記事で提供されているコードサンプルは、VB.NETにも簡単に移植できます。

C#GIFコンバーターAPI

Aspose.Imaging for .NETは、アニメーションGIFを含む広範囲のベクターまたはラスター画像形式の操作をサポートする機能豊富なAPIです。アニメーションGIFを他のマルチページ形式や.NETアプリケーション内のラスター画像に変換できます。 NuGet Package Managerを使用してAPIをインストールするか、DLLファイルを手動でダウンロードして参照できます。

C#を使用してアニメーションGIFをTIFFに変換する

TIFFは、1つのファイル内に複数の画像を保持する複数ページの画像形式です。アニメーションGIFには一連のフレームも含まれているため、すべてまたは選択したフレームをTIFF形式にエクスポートできます。この変換では、GIFの各フレームがTIFF画像のページに変換されます。以下は、Aspose.Imaging for .NETを使用してアニメーションGIFをTIFF形式に変換する手順です。

次のコードサンプルは、C#を使用してGIFをTIFFに変換する方法を示しています。

// 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 });
}

C#を使用してアニメーションGIFをPDFに変換する

アニメーションGIFからPDFへの変換では、GIFの各フレームがPDF内の個別のページに変換されます。 GIFからTIFFと同様に、変換されたPDFファイルで取得するフレームの範囲を指定できます。アニメーションGIFをPDFに変換する手順は次のとおりです。

  • Imageクラスのインスタンスを作成し、アニメーションGIFファイルをロードします。
  • MultiPageOptionsクラスを使用して、フレームの範囲を指定します(オプション)。
  • Image.Save(string, PdfOptions)メソッドを使用して、画像をPDFとして保存します。

次のコードサンプルは、C#を使用してアニメーションGIFをPDFに変換する方法を示しています。

// 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 });
}

C#を使用してGIFフレームをPNG、JPG、またはBMPに変換します

アニメーションGIFには一連のフレームが含まれているため、目的のフレームを抽出して、PNG、JPG、BMPなどのラスター画像に変換できます。

C#を使用してGIFフレームをPNGに変換する

GIFフレームをPNG画像に変換する手順は次のとおりです。

次のコードサンプルは、C#を使用してアニメーションGIFのフレームをPNGに変換する方法を示しています。

// GIF画像を読み込む
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // GIFのフレーム1をPNGに変換します
	image.Save("converted-to-png.png", new PngOptions() { MultiPageOptions = new MultiPageOptions(1), FullFrame = true });
}

C#を使用してGIFフレームをJPGに変換する

Aspose.Imagingは、JpegOptionsクラスを公開して、GIFフレームをJPG画像に変換する際のオプションを設定します。次のコードサンプルは、C#を使用してGIFのフレームをJPGに変換する方法を示しています。

// GIF画像を読み込む
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // GIFのフレーム1をJPGに変換します
	image.Save("converted-to-jpg.jpg", new JpegOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

C#を使用してGIFフレームをBMPに変換する

GIFからBMPへの変換の場合、APIはBmpOptionsクラスを提供します。次のコードサンプルは、C#を使用してGIFフレームをBMPに変換する方法を示しています。

// GIF画像を読み込む
using (var image = Image.Load(@"Sample_2.gif"))
{
  // GIFのフレーム1をBMPに変換します
	image.Save("converted-to-bmp.bmp", new BmpOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

結論

この記事では、C#を使用してアニメーションGIFをTIFFやPDFなどの複数ページ形式に変換する方法を学習しました。さらに、アニメーションGIFから特定のフレームを抽出し、それをPNG、JPG、またはBMP画像に変換する方法を見てきました。 ドキュメントを使用して、Aspose.Imaging for .NETの詳細を調べることができます。

関連項目

情報:無料のText to GIFConverter最近開発されたAsposeをチェックしてみてください。