如何使用LEADTOOLS将多页面图像转换为逆向播放的GIF:25天25个项目

发布时间:2016/12/26 00:12 发布者:Richard.Ma

返回博客中心

作为LEAD Technologies 25周年纪念的一部分,我们正在搞一个“25天收集25个项目来展示LEAD功能强度和易用性”的活动。今天要展示的项目来自于艾伦的分享。

打开Gif文件

clip_image001

保存逆向的Gif

clip_image003

Ping Pong选项

clip_image005

 

 

它是做什么的

使用LEADTOOLS第19版,该C#编写的的WinForms项目可以加载一个多页面图像并将这些页面反转以创建一个逆向播放的GIF。

 

所使用的功能

· Viewers

· Formats

· Image Processing

 

 

开发进程日志

大家好,我是艾伦。我要用C#编写这样一个的WinForms应用程序,该程序可以在一个多页面文件(GIF,TIFF,Word中,PDF等)中加载,颠倒页面顺序,并将文件保存为GIF,以便逆向播放图像。该应用程序还具有“Ping Pong”的功能,也就是无限次循环播放GIF图像。

我将以创建应用程序的主用户界面来启动这个项目。我要使用LEADTOOLS RasterPictureBox 控件,它能够让我很容易地播放动画。

Documentation: RasterPictureBox

主用户界面的创建现在已经完成,这花费了我大约30分钟的时间。现在我要开始执行的步骤是,将 GIF图像加载到RasterPictureBox 控件并启动该动画。

Documentation: PlayAnimation

现在我已经执行完了GIF图片的加载和播放步骤。由于我以前从来没有使用过RasterPictureBox 控件,所以我花费了一些时间来研究该控件究竟是如何运行的。这个过程花了我大约45分钟的时间。

我现在要执行的步骤是GIF图像本身的反转。为了做到这一点,我要使用RasterCodecs.Load方法来一个接一个地反向加载图像中的页面。我还要用CombineCommand来将各个框架结合起来,以便用GIF规范来为每一帧创建一个“扁平化”的图像。

Documentation: CombineCommand

然后,我要用RasterImage.AddPage方法来将合成图像添加到新的RasterImage对象中。

Documentation: RasterCodecs.Load
Documentation: RasterImage.AddPage

现在我已经执行完了GIF图像的逆转。这花了我大约4个小时的时间。现在我要开始执行的步骤是实现该应用程序的“Ping Pong”的功能。为了完成这个任务,我需要使用RasterPictureBox 控件的FrameChanged事件。

Documentation: OnFrameChanged

现在我已经实现了该应用程序的“Ping Pong”的功能,并且修复了我发现的一些程序漏洞。这花了我大约一个半小时的时间来完成。

我的应用程序已接近完成。现在需要的是开始进行漏洞测试,并给代码添加清晰的注解,以便使它更容简单易读。

虽然在进行漏洞测试并添加注解以使我的代码更易读的过程中,我发现了一些程序漏洞,但现在这些漏洞我已经修复完了。这花了我大约一个小时的时间。所以说,我的应用程序现在已经做好了进行部署的准备。

该应用程序总共花费了我七小时零四十五分钟的时间。但是,如果没有LEADTOOLS的帮助,要完成这一切可能要花费几个星期,甚至几个月。

 

下载该项目

该示例项目的源代码您可以点击这里进行下载。

11 Reverse Animated GIF.zip (16.51 kb)

要运行该项目,请将其解压缩到该目录下:C:\LEADTOOLS 19\Examples\DotNet\CS directory。

 

支持

关于其他产品的更多信息,请访问我们的官方网站

欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。

同时欢迎您使用评估版期间的免费技术支持


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网