C# を使用してアニメーション gif 画像のコピーを作成する方法はありますか?
私が望むのは、ユーザーが提供する高さと幅のパラメーターを使用して、特定の gif 画像のコピーを生成することです。これを達成するために数時間試しましたが、結果の画像は元のアニメーションを保持していません.
C# を使用してアニメーション gif 画像のコピーを作成する方法はありますか?
私が望むのは、ユーザーが提供する高さと幅のパラメーターを使用して、特定の gif 画像のコピーを生成することです。これを達成するために数時間試しましたが、結果の画像は元のアニメーションを保持していません.
これを見つけるのにしばらく時間がかかりましたが、最終的に解決策を見つけました:
NuGet 経由でMagick.NETをインストールします。ライセンスはhttps://magick.codeplex.com/licenseで確認できます。
コード例:
var newWidth = 100;
using (var collection = new MagickImageCollection(new FileInfo(@"C:\test.gif")))
{
collection.Coalesce();
foreach (var image in collection)
{
image.Resize(newWidth, 0);
}
collection.Write(@"c:\resized.gif");
}
私のテストでは、これはアルファ チャネルとさまざまなフレーム レートで動作します。完璧なようです!
アニメーション GIF のフレームをループして、それぞれのサイズを変更する必要があります。
GifLibも参照してください。