您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關canvas+gif.js如何實現數字雨頭像的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
效果如:
使用說明
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//圖像質量 });//創(chuàng)建一個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,看的云里霧里,后來才發(fā)現這么個好東西。由于生成gif圖像是個耗費cpu的操作,尤其是當圖像比較大的時候,因此庫允許在webworker中渲染。但是文檔中還是有幾個要注意的地方要說明(其實是我踩的坑):
1.git.addFrame是添加一幀,要生成會動的gif,要來一個循環(huán):
for(...){ gif.render(...) }
2.構造函數GIF的選項中,需要workerScript選項,這樣才能實現在worker中渲染圖像,如下所示:
var gif = new GIF({ workers: 2, quality: 10, workerScript:'./gif.worker.js' });
感謝各位的閱讀!關于“canvas+gif.js如何實現數字雨頭像”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。