Chuyển đổi GIF động bằng C#

Ảnh động GIF(Định dạng trao đổi đồ họa) chứa một số khung ảnh theo thứ tự cụ thể trong một tệp. Các khung này được hiển thị theo trình tự để tạo hoạt ảnh. Có thể có nhiều trường hợp sử dụng khác nhau khi bạn cần chuyển đổi GIF động sang định dạng hình ảnh nhiều trang hoặc hình ảnh raster khác. Các định dạng nhiều trang bao gồm TIFF cũng như PDF trong khi hình ảnh raster có thể là PNG, JPG, BMP, v.v. Trong bài viết này, tôi sẽ chỉ cho bạn cách chuyển đổi hình ảnh GIF động sang TIFF, PDF, PNG. Hình ảnh JPG và BMP lập trình bằng C#. Các mẫu mã được cung cấp trong bài viết này cũng có thể dễ dàng chuyển sang VB.NET.

API chuyển đổi GIF C#

Aspose.Imaging for .NET là một API giàu tính năng hỗ trợ thao tác với các định dạng hình ảnh raster hoặc vectơ trên phạm vi rộng bao gồm cả GIF động. Nó cho phép chuyển đổi GIF động sang các định dạng nhiều trang khác cũng như hình ảnh raster trong ứng dụng .NET. Bạn có thể cài đặt API bằng cách sử dụng NuGet Package Manager hoặc tải xuống và tham khảo tệp DLL theo cách thủ công.

Chuyển đổi GIF động sang TIFF bằng C#

TIFF là định dạng hình ảnh nhiều trang giữ nhiều hình ảnh trong một tệp. Vì GIF động cũng chứa một chuỗi các khung nên bạn có thể xuất tất cả hoặc các khung đã chọn sang định dạng TIFF. Trong quá trình chuyển đổi này, mỗi khung hình trong GIF sẽ được chuyển đổi thành một trang trong hình ảnh TIFF. Sau đây là các bước để chuyển đổi GIF động sang định dạng TIFF bằng cách sử dụng Aspose.Imaging for .NET.

Mẫu mã sau đây cho biết cách chuyển đổi GIF thành TIFF bằng C#.

// Tải tệp GIF
using (var image = Image.Load(@"sample_2.gif"))
{      
	// Chỉ chuyển đổi các khung đã chọn
	image.Save("Selected-Frames.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { MultiPageOptions = new MultiPageOptions(new IntRange(1, 3)), FullFrame = true });
	// Chuyển đổi tất cả các khung
	image.Save("GIF-to-TIFF.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { FullFrame = true });
}

Chuyển đổi GIF động sang PDF bằng C#

Trong chuyển đổi GIF động sang PDF, mỗi khung của GIF được chuyển đổi thành một trang riêng biệt trong PDF. Cũng giống như GIF to TIFF, bạn có thể chỉ định phạm vi khung bạn muốn nhận trong tệp PDF đã chuyển đổi. Sau đây là các bước để chuyển đổi GIF động sang PDF.

Mẫu mã sau đây cho biết cách chuyển đổi GIF động sang PDF bằng C#.

// Tải tệp GIF
using (Image image = Image.Load(@"sample_2.gif"))
{
	// Chuyển đổi tất cả các khung
	image.Save("GIF-to-PDF.pdf", new PdfOptions() { FullFrame = true });
  // Chuyển đổi các khung đã chọn
	image.Save("Selected-Frames-to-PDF.pdf", new PdfOptions() { MultiPageOptions = new MultiPageOptions(new IntRange(2, 5)), FullFrame = true });
}

Chuyển đổi Khung GIF thành PNG, JPG hoặc BMP bằng C#

Vì GIF động chứa một chuỗi các khung hình, bạn có thể trích xuất khung hình mong muốn và chuyển đổi nó thành hình ảnh raster chẳng hạn như PNG, JPG, BMP, v.v.

Chuyển đổi Khung GIF thành PNG bằng C#

Sau đây là các bước để chuyển đổi khung GIF thành hình ảnh PNG.

Mẫu mã sau đây cho biết cách chuyển đổi khung của GIF động sang PNG bằng C#.

// Tải ảnh GIF
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // Chuyển đổi khung 1 của GIF sang PNG
	image.Save("converted-to-png.png", new PngOptions() { MultiPageOptions = new MultiPageOptions(1), FullFrame = true });
}

Chuyển đổi Khung GIF sang JPG bằng C#

Aspose.Imaging hiển thị lớp JpegOptions để đặt các tùy chọn trong khi chuyển đổi khung GIF sang hình ảnh JPG. Mẫu mã sau đây cho biết cách chuyển đổi khung hình trong GIF sang JPG bằng C#.

// Tải ảnh GIF
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // Chuyển đổi khung 1 của GIF sang JPG
	image.Save("converted-to-jpg.jpg", new JpegOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

Chuyển đổi Khung GIF thành BMP bằng C#

Để chuyển đổi GIF sang BMP, API cung cấp lớp BmpOptions. Mẫu mã sau đây cho biết cách chuyển đổi khung GIF thành BMP bằng C#.

// Tải ảnh GIF
using (var image = Image.Load(@"Sample_2.gif"))
{
  // Chuyển đổi khung hình 1 của GIF sang BMP
	image.Save("converted-to-bmp.bmp", new BmpOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

Sự kết luận

Trong bài viết này, bạn đã học cách chuyển đổi GIF động sang các định dạng nhiều trang như TIFF và PDF bằng C#. Hơn nữa, chúng ta đã biết cách trích xuất một khung hình cụ thể từ GIF động và chuyển đổi nó thành hình ảnh PNG, JPG hoặc BMP. Bạn có thể khám phá thêm về Aspose.Imaging for .NET bằng cách sử dụng tài liệu.

Xem thêm

Thông tin: Bạn có thể muốn xem [Trình chuyển đổi văn bản thành GIF] MIỄN PHÍ 2 Aspose được phát triển gần đây.