Ả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.
- Chuyển đổi GIF động sang TIFF bằng C#
- Chuyển đổi GIF động sang PDF bằng C#
- Trích xuất và chuyển đổi khung hình GIF sang PNG bằng C#
- Chuyển đổi khung GIF thành JPG bằng C#
- Chuyển đổi khung GIF thành BMP bằng C#
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.
- Tải ảnh GIF vào đối tượng Image bằng phương thức Image.Load(String).
- Sử dụng lớp MultiPageOptions để chỉ định phạm vi khung bạn muốn chuyển đổi (tùy chọn).
- Chuyển đổi GIF thành TIFF bằng phương pháp Image.Save(String, TiffOptions).
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.
- Tạo một thể hiện của lớp Image và tải tệp GIF động.
- Sử dụng lớp MultiPageOptions để chỉ định phạm vi khung (tùy chọn).
- Lưu hình ảnh dưới dạng PDF bằng phương pháp Image.Save(String, PdfOptions).
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.
- Tải ảnh GIF động bằng phương thức Image.Load(String).
- Chuyển đổi khung GIF thành PNG bằng phương pháp Image.Save(String, PngOptions) bằng cách chỉ định số khung.
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.