iT邦幫忙

第 12 屆 iThome 鐵人賽

0
Modern Web

再談 PixiJS,那些先前不一定有提到的部分與地雷系列 第 36

[Re:PixiJS - Day36] PIXI.utils 與內建的輸出圖檔功能

  • 分享至 

  • twitterImage
  •  

PIXI.utils 提供了一些好用的方法

也許不夠完整,但簡單的方法若可直接使用
就不用另外實作或引用自別的類別


檢查 PixiJS 正在運行的裝置:


檢查是否支援 WebGL:


色彩轉換:

字串、十六進位顏色、RGB陣列 間轉換滿方便的,但沒有 HSL模式 等轉換


Hello:

顯示目前 PixiJS 版本、運作模式等資訊

若不想在 console 看到這串訊息,在 new PIXI.Application() 前執行 PIXI.utils.skipHello(); 即可


快取相關:

可直接取得與操作 TextureCache / BaseTextureCache,相關討論與使用在先前文章裡

實際上還有個 ProgramCache,屬於 WebGL 實際使用的部分,目前不討論


匯出畫面:

先前鐵人賽中有提到匯出畫面與可能的問題
目前版本的範例中有這個功能:

截圖結果輸出 app.stage 範圍,而 非整個 <canvas>

// Note that we can do this with any container. Instead of 'app.stage', which
// contains everything, try the 'bunnyContainer' instead.
function takeScreenshot() {
    wait = true;
    app.renderer.extract.canvas(app.stage).toBlob((b) => {
        const a = document.createElement('a');
        document.body.append(a);
        a.download = 'screenshot';
        a.href = URL.createObjectURL(b);
        a.click();
        a.remove();
    }, 'image/png');
}

用法與上次文章的結論相同,
但先前提到這個功能時,官方範例裡沒有這個實作

這不是 Pixi.utils 相關功能,但因為不是很大篇的事情
與 Pixi.utils 說明放在同一篇裡


上一篇
[Re:PixiJS - Day35] PixiJS v5 預設不支援不支援 WebGL 的瀏覽器
下一篇
[Re:PixiJS - Day37] Pixi.js 開發工具的小趣事
系列文
再談 PixiJS,那些先前不一定有提到的部分與地雷45
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言