canvas+gif.js如何实现数字雨头像
这篇文章给大家分享的是有关canvas+gif.js如何实现数字雨头像的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
效果如:
使用说明
1.传一个你喜欢的头像,最后是正方形的
2.生成后看字符颜色是不是太诡异,可以改变字符颜色
3.觉得满意,右键另存为即可
gif.js
今天的主角是gif.js,gif.js是一个在浏览器上依靠H5api就能gif动画的库,这里介绍一下我猜的坑。关于绘制数字雨,园子里有相关文章,我就不瞎BB了。
gif.js可以很方便的根据canvas动图得到gif:
//代码来自官网
var gif = new GIF({
workers: 2,//启用两个worker。
quality: 10//图像质量
});//创建一个GIF实例
// 核心方法,向gif中加一帧图像,参数可以是img/canvas元素,还可以从ctx中复制一帧
gif.addFrame(imageElement);
// or a canvas element
gif.addFrame(canvasElement, {delay: 200});//一帧时长是200
// or copy the pixels from a canvas context
gif.addFrame(ctx, {copy: true});
gif.on('finished', function(blob) {//最后生成一个blob对象
window.open(URL.createObjectURL(blob));
});
gif.render();//开始启动
整体而言,这个库的api十分简洁,友好。之前看了一个jsGif,看的云里雾里,后来才发现这么个好东西。由于生成gif图像是个耗费cpu的操作,尤其是当图像比较大的时候,因此库允许在webworker中渲染。但是文档中还是有几个要注意的地方要说明(其实是我踩的坑):
1.git.addFrame是添加一帧,要生成会动的gif,要来一个循环:
for(...){
gif.render(...)
}
2.构造函数GIF的选项中,需要workerScript选项,这样才能实现在worker中渲染图像,如下所示:
var gif = new GIF({
workers: 2,
quality: 10,
workerScript:'./gif.worker.js'
});
感谢各位的阅读!关于“canvas+gif.js如何实现数字雨头像”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341