Uzyskaj ramkę z AnyBitmap
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");
}


Imports IronSoftware.Drawing
Imports System.Collections.Generic
Imports System.Linq

'Load a GIF or TIFF as AnyBitmap (loads ALL frames)
Dim gifOrTiff As AnyBitmap = 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
Dim frames As List(Of AnyBitmap) = CType(gifOrTiff.GetAllFrames, List(Of AnyBitmap))
For i As Integer = 0 To frames.Count - 1
    frames(i).SaveAs("frame_" & i & ".jpg")
Next
NuGet Download
PM > Install-Package IronSoftware.System.Drawing
Uzyskaj ramkę z AnyBitmap

Uzyskaj ramkę z AnyBitmap

Ta funkcja pozwala użytkownikom na wyodrebnianie lub przechwytywanie klatek z pliku GIF lub TIFF zawierajacego wiele stron i zapisywanie ich lokalnie w dowolnym formacie obrazu. Zapisane klatki mogą być dalej modyfikowane w IronDrawing lub innych narzędziach Iron Software, zgodnie z zyczeniem użytkowników.

Aby skorzystać z tej funkcji, użytkownicy muszą najpierw przekształcić plik GIF lub TIFF na typ AnyBitmap, ładując go z ścieżki pliku przy użyciu metody AnyBitmap.FromFile(@"FILE_PATH"). Jeśli użytkownicy chcą zapisać indywidualną klatkę i znają numer indeksu tej klatki, można użyć metody .GetAllFrames().ElementAt(n).SaveAs("FRAME_FILE_NAME"). Aby uzyskać pierwszą i ostatnią klatkę, wystarczy użyć odpowiednio metod .First() i .Last(). Jeśli użytkownicy chcą zapisać wszystkie klatki zgodnie z numerem klatki, mogą użyć pętli for na klatkach zapisanych na liście i użyć frames[i].SaveAs("frame_" + i + ".jpg").

Zobacz na GitHubie

Gotowy, aby rozpocząć?

Nuget Downloads 20,274,271Wersja:2026.11właśnie wydany