将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;

使用说明

1,双击工具图标
在这里插入图片描述
2,点击选择文件,加载GIF格式图片到软件中;然后点击一键转换。
在这里插入图片描述

gif图片:
在这里插入图片描述
转换后:
在这里插入图片描述

后记

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

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件工程师文艺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值