新聞中心
這篇文章給大家分享的是有關(guān)canvas+gif.js如何實現(xiàn)數(shù)字雨頭像的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
目前成都創(chuàng)新互聯(lián)公司已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、隴南網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
效果如:
使用說明
1.傳一個你喜歡的頭像,最后是正方形的
2.生成后看字符顏色是不是太詭異,可以改變字符顏色
3.覺得滿意,右鍵另存為即可
gif.js
今天的主角是gif.js,gif.js是一個在瀏覽器上依靠H5api就能gif動畫的庫,這里介紹一下我猜的坑。關(guān)于繪制數(shù)字雨,園子里有相關(guān)文章,我就不瞎BB了。
gif.js可以很方便的根據(jù)canvas動圖得到gif:
//代碼來自官網(wǎng) var gif = new GIF({ workers: 2,//啟用兩個worker。 quality: 10//圖像質(zhì)量 });//創(chuàng)建一個GIF實例 // 核心方法,向gif中加一幀圖像,參數(shù)可以是img/canvas元素,還可以從ctx中復(fù)制一幀 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ā)現(xiàn)這么個好東西。由于生成gif圖像是個耗費cpu的操作,尤其是當(dāng)圖像比較大的時候,因此庫允許在webworker中渲染。但是文檔中還是有幾個要注意的地方要說明(其實是我踩的坑):
1.git.addFrame是添加一幀,要生成會動的gif,要來一個循環(huán):
for(...){ gif.render(...) }
2.構(gòu)造函數(shù)GIF的選項中,需要workerScript選項,這樣才能實現(xiàn)在worker中渲染圖像,如下所示:
var gif = new GIF({ workers: 2, quality: 10, workerScript:'./gif.worker.js' });
感謝各位的閱讀!關(guān)于“canvas+gif.js如何實現(xiàn)數(shù)字雨頭像”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
本文題目:canvas+gif.js如何實現(xiàn)數(shù)字雨頭像
URL地址:http://www.ef60e0e.cn/article/ghesso.html