问题描述
源码地址:效果如下:本来代码想全部自己写的找了关于gif文件格式的资料还有lzw压缩算法可是发现这些还不够不知道怎么建立颜色表网上找了一下似乎都没有找到相关资料估计也就只有一些图像处理的书籍里面才有了所以代码并不是全部都是我写的是网上下载的一个<AnimatedGifEncoder>来改的说实在的感觉效率很慢但是我有无能为力没有相关资料不知道要怎么去改写优化只是改写了部分代码录制屏幕的代码封装到了一个dll中方便其他程序调用里面主要有两个类使用方便简单ScreenRecordersr=newScreenRecorder(+2)//两个构造自己看代码sr.Start();//开始sr.Stop();//暂停sr.Clear();//清空已经录制的Dictionary<Image,int>frames=sr.Frames//录制的帧和对应延时GIFCreatorgc=newGIFCreator(width,height,GIFCreator.GIFColorDepth.Depth8Bit);//创建一个gif图像gc.AddFrame(Image,int)//添加一帧图像分别是图像和对应延时Imagegc.GetGifImage()byte[]gc.GetImageBytes()//分别是得到gif图像对象和得到图像的二进制数据
解决方案
解决方案二:
不知道为什么上面哪张GIF谷歌浏览器这张图放到一半就没了其他浏览器包括我手机浏览器或者图形查看器一切正常我也不知道什么情况了。。。。。但是我又试了一下录制一张图用谷歌浏览器打开又是正常的就当是巧合吧或者是我保存录制的时候替换文件的时候出错了反正不管了GIF录制这种东西网上大把的我只是研究研究而已。。
解决方案三:
支持一下,可惜Gif最多只支持256色,某些情况下色彩会明显失真。个人喜欢用BBFlashBack这个屏幕录制工具,导出Flashswf格式,体积小质量高。
解决方案四:
感谢lz的分享,给你推荐下。
解决方案五:
解决方案六:
解决方案七:
6666学习下
解决方案八:
解决方案九:
该回复于2016-05-24 00:07:32被版主删除
解决方案十:
该回复于2016-04-30 23:40:05被版主删除
解决方案十一:
解决方案十二:
解决方案十三:
引用11楼shimachao的回复:
你可以搜一下代码情诗
x回错贴了
解决方案十四:
解决方案十五:
感谢分享
解决方案:
该回复于2016-05-31 23:16:08被版主删除
解决方案:
都是高手啊,hehe
解决方案:
感谢分享@!
解决方案:
感谢分享@!
解决方案:
感谢分享@!支持一下,可惜Gif最多只支持256色,某些情况下色彩会明显失真。个人喜欢用BBFlashBack这个屏幕录制工具,导出Flashswf格式,体积小质量高。
解决方案:
解决方案:
自已写的,顶一个。gifcma不错
解决方案:
我们需要这样的资源
解决方案:
解决方案:
谢谢分享~
解决方案:
谢谢分享~
解决方案:
看了一下,没有保存图片呀。。
解决方案:
楼主ID亮了
解决方案:
好人啊!!PS:质量部分可以考虑用OctreeQuantizer。会好很多很多
解决方案:
谢谢分享
解决方案:
一直在用screentogif这个工具也挺方便的
解决方案:
谢谢楼主。我会好好学习的
解决方案:
解决方案:
楼主可以参考,lzw相关源码可以在的fastCSharp.drawing.gif.file中找到,其中还包括颜色数量处理。由于我对winform不熟,所以只做了一个简单的界面。
解决方案:
mark学习下
解决方案:
好东西,mark分享啊
解决方案:
不错学习一下