从任意位图获取帧
using IronSoftware.Drawing;
using System.Collections.Generic;
using System.Linq;

//Load a GIF or TIFF as AnyBitmap (loads ALL frames)
AnyBitmap gifOrTiff = AnyBitmap.FromFile(@"FILE_PATH");

gifOrTiff.GetAllFrames.First().SaveAs("first.png"); // First frame
gifOrTiff.GetAllFrames.Last().SaveAs("last.png"); // Last frame
gifOrTiff.GetAllFrames.ElementAt(1).SaveAs("second.png"); // n'th frame

// Save every frame of a GIF or TIFF to images on disk
List<AnyBitmap> frames = (List<AnyBitmap>)gifOrTiff.GetAllFrames;
for (int i = 0 ; i < frames.Count ; i++)
{
    frames[i].SaveAs("frame_" + i + ".jpg");
}


NuGet Download
PM > Install-Package IronSoftware.System.Drawing
从任意位图获取帧

从任意位图获取帧

此功能使用户能够从多页 GIF 或 TIFF 文件中提取或捕获帧,并将其以任何图像格式保存到本地。 用户可以根据需要,在 IronDrawing 或其他 Iron 软件工具中进一步处理保存的帧。

要使用此功能,用户必须首先从文件路径使用AnyBitmap类型。 如果用户希望保存单个帧并知道该帧的索引编号,可以使用.GetAllFrames().ElementAt(n).SaveAs("FRAME_FILE_NAME")方法。 要获取第一帧和最后一帧,只需分别使用.Last()方法。 如果用户希望根据帧号保存所有帧,可以在保存到列表的帧上使用frames[i].SaveAs("frame_" + i + ".jpg")。

在 GitHub 上查看

准备开始了吗?

Nuget Downloads 21,321,696版本:2026.11刚刚发布