快活林资源网 Design By www.csstdc.com
无意中看到一篇文章写得是关于纯前端处理GIF图片的问题,感觉挺有意思的所以自己也实现了一下;
主要用到的有两个第三方库:合成GIF图片的gif.js和分解的libgif.js;
分解GIF
1. 引入Git库
import SuperGif from './libgif.js'
2. 处理图片
var file = e.target.files[0]; console.log(file.type.indexOf('image/gif')); load_gif(file); function load_gif(gif_source) { var gifImg = document.getElementById('gifImg'); // gif库需要img标签配置下面两个属性 gifImg.setAttribute('rel:animated_src', URL.createObjectURL(gif_source)) gifImg.setAttribute('rel:auto_play', '0') // 新建gif实例 var rub = new SuperGif({ gif: gifImg } ); var running = false; rub.load(function(){ var img_list = []; var j = 0; console.log(rub.get_length()); for (var i=1; i <= rub.get_length(); i++) { // 遍历gif实例的每一帧 rub.move_to(i); var imgImage = new Image(); //canvas生成base64图片数据 imgImage.src = rub.get_canvas().toDataURL('image/jpeg',0.8); } }
合成GIF图片
1. 引入Git库
import GIF from './gif.js'
2. 图片合成
var gif = new GIF({ workers: 2, quality: 10, workerScript: 'js/gif.worker.js' }); var j = 0; var canvas= document.createElement("canvas"); var ctx = tCanvas.getContext('2d'); for (var i=1; i <= len; i++) { var imgImage = new Image(); imgImage.src = img; imgImage.onload = function (e) { //Canvas绘制图片 canvas.width = width; canvas.height = height; console.log(width,height) //铺底色 ctx.fillStyle = "#fff"; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.drawImage(imgImage, 0, 0, width, height); gif.addFrame(canvas,{copy:true,delay:50}); j++; //图片 if(j>=len) { gif.render() }; } } gif.on('finished', function(blob) { //生成图片链接 var url = URL.createObjectURL(blob); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
快活林资源网 Design By www.csstdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
快活林资源网 Design By www.csstdc.com
暂无评论...
更新日志
2024年12月25日
2024年12月25日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]