最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實(shí)現(xiàn)GIF圖片的分解和合成

 更新時(shí)間:2019年10月24日 11:42:53   投稿:lijiao  
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)GIF圖片的分解和合成,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

無(wú)意中看到一篇文章寫(xiě)得是關(guān)于純前端處理GIF圖片的問(wèn)題,感覺(jué)挺有意思的所以自己也實(shí)現(xiàn)了一下;

主要用到的有兩個(gè)第三方庫(kù):合成GIF圖片的gif.js和分解的libgif.js;

分解GIF

1. 引入Git庫(kù)

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庫(kù)需要img標(biāo)簽配置下面兩個(gè)屬性
  gifImg.setAttribute('rel:animated_src', URL.createObjectURL(gif_source))
  gifImg.setAttribute('rel:auto_play', '0')
 
  // 新建gif實(shí)例
  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實(shí)例的每一幀
  rub.move_to(i);
 
  var imgImage = new Image();
  //canvas生成base64圖片數(shù)據(jù)
  imgImage.src = rub.get_canvas().toDataURL('image/jpeg',0.8);
  }
 }

合成GIF圖片

1. 引入Git庫(kù)

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);
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

延庆县| 张家口市| 长岭县| 中宁县| 澳门| 沭阳县| 桂林市| 内乡县| 安陆市| 徐水县| 于都县| 依安县| 钦州市| 黄浦区| 温宿县| 朝阳区| 怀宁县| 楚雄市| 金坛市| 铜鼓县| 治多县| 芮城县| 阿合奇县| 马关县| 阳山县| 莱西市| 南康市| 墨竹工卡县| 瑞安市| 延吉市| 青海省| 航空| 布拖县| 孟津县| 阿拉善盟| 论坛| 凤山县| 温州市| 湟源县| 平顺县| 铜梁县|