canvas+gif.js打造自己的数字雨头像的示例代码
时间:2019-04-07
本文章向大家介绍canvas+gif.js打造自己的数字雨头像的示例代码,主要包括canvas+gif.js打造自己的数字雨头像的示例代码使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前天 是1024程序员节,不知道各位看官过的怎么样。既然是过节,就要有个过节的样子,比方说,换个头像😀。你看我的头像牛逼不。今天介绍一个小demo,上传一个静态头像,就能得到一个动态的数字雨头像。抢先体验传送门](https://imgss.github.io/demo/gif/)
使用说明
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' });
源码我放在github上了,https://github.com/imgss/gif_rain_code,或者F12直接看demo。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法