想将GIF动画转换成PDF/PNG等格式吗?Aspose.Imaging快速搞定!

做~自己de王妃 提交于 2020-08-17 04:29:38

动画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),我们很高兴为您提供查询和咨询

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!