动画GIF(图形交换格式)在单个文件中包含特定顺序的许多图像帧。这些帧按顺序显示以创建动画。当您需要将动画GIF转换为其他多页或光栅图像格式时,可能会有各种用例。多页格式包括TIFF和PDF,而光栅图像可以是PNG,JPG,BMP等。
在本文中,我将向您展示如何将GIF动画图像转换为TIFF,PDF,PNG。JPG和BMP图像使用C#进行编程。
- 使用C#将动画GIF转换为TIFF
- 使用C#将动画GIF转换为PDF
- 使用C#提取GIF帧并将其转换为PNG
- 使用C#将GIF帧转换为JPG
- 使用C#将GIF帧转换为BMP
Aspose.Imaging for .NET一种高级图像处理控件,允许开发人员创建,编辑,绘制或转换图像。图像导出和转换是API核心功能之一,它允许在不安装Photoshop应用程序或任何其他图像编辑器的情况下保存为AdobePhotoshop®本机格式。
目前发布了Aspose.Imaging for .NET v20.5,支持从TIFF提取路径,优化Dicom格式的速度或内存,支持将可读的全帧gif导出为多页图像格式,还没使用过的朋友可以点击下载最新版Aspose.Imaging
使用C#将动画GIF转换为TIFF
TIFF是一种多页图像格式,可将多个图像保存在一个文件中。由于动画GIF还包含一系列帧,因此您可以将所有或选定的帧导出为TIFF格式。在此转换中,GIF中的每一帧都将转换为TIFF图像中的一页。以下是使用Aspose.Imaging for .NET将动画GIF转换为TIFF格式的步骤。
- 使用Image.Load(String)方法将GIF图像加载到Image对象中。
- 使用MultiPageOptions类可以指定要转换的帧范围(可选)。
- 使用Image.Save(String,TiffOptions)方法将GIF转换为TIFF 。
下面的代码示例演示如何使用C#将GIF转换为TIFF。
// Load GIF file using (var image = Image.Load(@"sample_2.gif")) { // Convert selected frames only image.Save("Selected-Frames.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { MultiPageOptions = new MultiPageOptions(new IntRange(1, 3)), FullFrame = true }); // Convert all the frames image.Save("GIF-to-TIFF.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { FullFrame = true }); }
使用C#将动画GIF转换为PDF
在动画GIF到PDF的转换中,GIF的每一帧都转换为PDF中的单独页面。就像从GIF到TIFF一样,您可以在转换的PDF文件中指定要获取的帧范围。以下是将动画GIF转换为PDF的步骤。
- 创建Image类的实例并加载动画GIF文件。
- 使用Image.Save(String,PdfOptions)方法将图像另存为PDF 。
下面的代码示例演示如何使用C#将动画GIF转换为PDF。
// Load GIF file using (Image image = Image.Load(@"sample_2.gif")) { // Convert all the frames image.Save("GIF-to-PDF.pdf", new PdfOptions() { FullFrame = true }); // Convert selected frames image.Save("Selected-Frames-to-PDF.pdf", new PdfOptions() { MultiPageOptions = new MultiPageOptions(new IntRange(2, 5)), FullFrame = true }); }
使用C#将GIF帧转换为PNG,JPG或BMP
由于动画GIF包含一系列帧,因此您可以提取所需的帧并将其转换为光栅图像,例如PNG,JPG,BMP等。
使用C#将GIF帧转换为PNG
以下是将GIF帧转换为PNG图像的步骤。
- 使用Image.Load(String)方法加载动画GIF图像。
- 通过指定帧号,使用Image.Save(String,PngOptions)方法将GIF帧转换为PNG 。
下面的代码示例演示如何使用C#将动画GIF的帧转换为PNG。
// Load GIF image using (var image = Image.Load(@"Sample_2.gif")) { // Convert frame 1 of GIF to PNG image.Save("converted-to-png.png", new PngOptions() { MultiPageOptions = new MultiPageOptions(1), FullFrame = true }); }
使用C#将GIF帧转换为JPG
Aspose.Imaging 在将GIF帧转换为JPG图像时,公开JpegOptions类以设置选项。下面的代码示例演示如何使用C#将GIF中的帧转换为JPG。
// Load GIF image using (var image = Image.Load(@"Sample_2.gif")) { // Convert frame 1 of GIF to JPG image.Save("converted-to-jpg.jpg", new JpegOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true }); }
使用C#将GIF帧转换为BMP
对于GIF到BMP的转换,API提供了BmpOptions类。下面的代码示例演示如何使用C#将GIF帧转换为BMP。
// Load GIF image using (var image = Image.Load(@"Sample_2.gif")) { // Convert frame 1 of GIF to BMP image.Save("converted-to-bmp.bmp", new BmpOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true }); }
如果有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。
来源:oschina
链接:https://my.oschina.net/u/4087915/blog/4308681