這篇文章給大家分享的是有關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//圖像質量
});//創建一個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'
});感謝各位的閱讀!關于“canvas+gif.js如何實現數字雨頭像”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。