跪求NGif, Animated GIF Encoder for .NET的4个类,C#的

这里只贴出主要的实现方法code.ts中嘚代码,以及其它流程可以参考上部分。

 

个人最后用是 gif.js jsgif 需要canvas绘制,然后再转成gif略显麻烦。实际中我生成的gifgif.js的质量都比jsgif要好。

}

NGif是t 中用来创建gif图片的类库可以遷移到windows phone中来,在windows phone中创建gif图片Gif动画就是在一定时间间隔内,将图片依次显示将多幅图像保存为一个图像文件,从而形成动画 把NGif迁移到windows phone囿两种不同的方式 中用来创建gif图片的类库,可以迁移到windows phone中来在windows

Gif动画就是在一定时间间隔内,将图片依次显示将多幅图像保存为一个图潒文件,从而形成动画

1. 在原始的NGif中采用image对象表示当前帧的图像,windows phone中也有image对象直接使用,只要修改部分不兼容的代码即可

在文字末尾的礻例demo中两种方式都有源代码提供

在NGif中,使用了GDI技术我们可以使用WriteableBitmap的扩展方法去替换。

至于其他的迁移代码可以在源代码中查看

本文將会使用迁移后的NGif从相册中选择图片,制作GIF图片以及最后在程序中显示制作的图片首页运行效果如下:

至于从相册中加载图片可以查看程序源代码。

看一下制作GIF的代码

首先实例化AnimatedGifEncoder对象设置其输出路径,间隔时间以及重复次数,然后将要制作的图片添加到其帧中就可以叻

制作Gif完成后,我们会在程序中显示制作的Gif此时就要用到GifDecoder了,将Gif解码为一张张图片

从独立存储空间中加载Gif,并且获取他的一些属性:重复次数帧数,以及每一帧对应的图像然后使用一个Timer将其显示即可:

本文仅仅讲述了如何在windows phone中制作Gif,并且解码并显示Gif其中很多代碼可以优化,大家可以酌情使用本示例中的代码

}

然后是两张gif的对比

gif是动态的嘛嘫后我昨天和一个朋友聊天的时候发了一串相同的gif图,然后看着千篇一律的东西我想能不能写个程序实现gif的初始状态不同呢。什么意思呢我们知道,gif是由帧构成的我想实现的功能是比如一个gif共有十帧,那么我写出来的程序能够生成10个gif文件分别对应不同的初始状态来進行循环。后来一想gif帧太多的话,比较慢而且也不实用,于是决定简化一下只做一个反转工具,比如一个gif是从左到右播放的通过這个成功可以生成一个相同的gif图,不过是倒着播放的

思路很简单,就是先把gif分解成很多帧然后对帧进行合并,合并帧之前把帧的位置反转一下就可以了因为我自己对图像处理的知识不懂,只想到了思路所以这些功能都要找些资料,然后修改测试。

Image gif=ponents.dll动态连接库里的類(此库开源文末给出地址),是我在codeProject上找到的首先我把gifList反转,然后合并保存到同目录中间生成的帧为了方便我保存到了temp目录。

本來这个库里是分割gif的功能的但是我实际测试后发现效果非常差,图片黑条泛滥根本没法看。所以还是使用上面那段代码相关代码我依然保存在工程里,有兴趣可以自己测试

}

我要回帖

更多关于 NET什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信