java制作数字彩虹雨的代码,canvas+gif.js打造自己的数字雨头像的示例代码

本文介绍了如何利用gif.js库将静态头像转化为动态数字雨头像。通过上传正方形头像,调整字符颜色,可以生成个性化的GIF。gif.js库允许在浏览器上用H5 API创建GIF动画,包括在Web Worker中渲染以降低CPU负载。关键方法如gif.addFrame()用于添加帧图像,并通过gif.render()启动渲染。注意,生成动态效果需要循环调用addFrame并设置合适的帧延迟。
摘要由CSDN通过智能技术生成

前天 是1024程序员节,不知道各位看官过的怎么样。既然是过节,就要有个过节的样子,比方说,换个头像😀。你看我的头像牛逼不。今天介绍一个小demo,上传一个静态头像,就能得到一个动态的数字雨头像。抢先体验传送门](https://imgss.github.io/demo/gif/)

d2973ab0d9179135d9573f1c53789be9.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'

});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值