溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

canvas+gif.js如何實現數字雨頭像

發(fā)布時間:2021-07-22 14:46:24 來源:億速云 閱讀:202 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關canvas+gif.js如何實現數字雨頭像的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

效果如:

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如何實現數字雨頭像”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI