其他分享
首页 > 其他分享> > 将GIF格式的图片逐帧转成PNG图片

将GIF格式的图片逐帧转成PNG图片

作者:互联网

背景介绍

我们在使用GIF格式的图片时,有需要将GIF逐帧按顺序转换为PNG静态图片的需求,例如:使用Pygame加载GIF资源需要先把GIF图片逐帧转换成PNG格式,再load到画布。类似的场景很有很多。
笔者在使用网络上的工具讲GIF图逐帧转换为PNG静态图的时候发现存在以下问题:

  1. 网页工具广告多,大部分需要收费,少部分无法满足需求,存在欺骗有点网友点击的行为。
  2. 需要下载的CS类型的工具,大部分无法使用。免安装能够直接使用的几乎没有。

求人不如求己!自己动手!

windows平台,有操作界面,非C# WinForm莫属。

界面设计

界面风格延续本人工具软件UI设计的:简洁,优雅,朴素,一键完成风格。
界面

实现原理

  1. Load GIF图片,转Image对象;
Image imgGif = Image.FromFile(this.textBox1.Text, true);
  1. 通过Image获取ImgFrmDim
var ImgFrmDim = new FrameDimension(imgGif.FrameDimensionsList[0]);
  1. 获取总帧数,遍历每一帧,然后ImgFrmDim获取活动帧,save到本地。
image.GetFrameCount(ImgFrmDim) //获取总帧数
image.SelectActiveFrame(ImgFrmDim, i); //选择当前活动帧
image.Save(currentPath + string.Format(@"image{0}.png", i), ImageFormat.Png);//当前帧图片Save到本地

下载地址

如果大家不想自己动手,可以直接下载编译好的可运行文件直接使用。
地址:https://download.csdn.net/download/lenovo96166/15485940;

后记

关于工具界面上的赞赏码,如果大家介意可以视而不见,置之不理。理所应当的下载使用就OK了。
如果这个工具帮到了你,你手头宽裕,做人讲究,微信扫一下赞赏码,打赏作者一二。
如果你需要源码,私信我吧!

标签:Image,GIF,ImgFrmDim,图片,image,PNG,逐帧
来源: https://blog.csdn.net/lenovo96166/article/details/114168737