源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

canvas+gif.js打造自己的数字雨头像的示例代码

  • 时间:2020-04-07 00:34 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:canvas+gif.js打造自己的数字雨头像的示例代码
前天 是1024程序员节,不知道各位看官过的怎么样。既然是过节,就要有个过节的样子,比方说,换个头像😀。你看我的头像牛逼不。今天介绍一个小demo,上传一个静态头像,就能得到一个动态的数字雨头像。抢先体验传送门]([url=https://imgss.github.io/demo/gif/]https://imgss.github.io/demo/gif/[/url]) [img]http://files.jb51.net/file_images/article/201710/20171026104349708.gif?201792610441[/img] [b]使用说明[/b] 1.传一个你喜欢的头像,最后是正方形的 2.生成后看字符颜色是不是太诡异,可以改变字符颜色 3.觉得满意,右键另存为即可 [b]gif.js[/b] 今天的主角是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'
});
源码我放在github上了,[url=https://github.com/imgss/gif_rain_code]https://github.com/imgss/gif_rain_code[/url],或者F12直接看demo。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部