91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

PixiJS怎么實現文字的繪制

發布時間:2023-02-25 13:55:49 來源:億速云 閱讀:173 作者:iii 欄目:開發技術

這篇文章主要介紹了PixiJS怎么實現文字的繪制的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇PixiJS怎么實現文字的繪制文章都會有所收獲,下面我們一起來看看吧。

Text

最基本的寫法,這里沒有設置樣式:

const app = new PIXI.Application({ width: 640, height: 360, background: 0xffffff });
document.body.appendChild(app.view);

// 創建文本
const text = new PIXI.Text("前端西瓜哥");
text.x = 100;
text.y = 50;
app.stage.addChild(text);

可以設置文字樣式,需要用 TextStyle 類。

const textStyle = new PIXI.TextStyle({
  fill: "#FF0044",
  fontSize: 32,
  strokeThickness: 1,
  fontWeight: "bold",
});

const text = new PIXI.Text("前端西瓜哥", textStyle);
text.x = 100;
text.y = 50;

也可以通過給 text.style 賦值的方式來設置樣式。

通過 Text 類繪制文字,會將文字內容從頭到位進行解析并光柵化,如果你要通過 transform 改變文字的大小,會導致一些失真,建議修改字體大小的方式去繪制。

文字內容如果比較多,且變化得比較頻繁,可能造成一些性能上的問題。這種情況下,可以考慮能不能用 BitMapText 來優化。

BitMapText

BitMap 就是位圖的意思,它會將一些字體的單個字符先預渲染。當然這個預渲染的是指定了特定的樣式的。然后在繪制的時候,pixijs 就可以將一個個預渲染的字符拼接在一起,而不是重新計算繪制點并光柵化,效率很高。

缺點是樣式是固定的,如果樣式一直變,就比較難命中緩存,不太適合使用了。

另外,BitMap 更適合拉丁語系,因為字符集有限,而像是中文這種象形文字,字符集太多了,做緩存性價比不高。

下面是官方示例。

const app = new PIXI.Application({ background: '#1099bb' });
document.body.appendChild(app.view);

PIXI.Assets.load('./desyrel.xml').then(() => {
    const bitmapFontText = new PIXI.BitmapText(
        'bitmap fonts are supported!\nWoo yay!', {
            fontName: 'Desyrel',
            fontSize: 55,
            align: 'left',
        },
    );

    bitmapFontText.x = 50;
    bitmapFontText.y = 200;

    app.stage.addChild(bitmapFontText);
});

pixijs 從 desyrel.xml 文件中提取信息,desyrel.xml 關聯了一個 png 圖片,里面放了一些位圖字體。感覺有點像 SpriteSheet。

PixiJS怎么實現文字的繪制

繪制的結果為:

PixiJS怎么實現文字的繪制

將字體的轉換為位圖,可以用一個名為 msdf-bmfont-xml 的 npm 庫工具去實現。

關于“PixiJS怎么實現文字的繪制”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“PixiJS怎么實現文字的繪制”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

桐梓县| 河曲县| 丰宁| 溧水县| 四子王旗| 繁昌县| 且末县| 德保县| 富阳市| 洛南县| 襄汾县| 大足县| 霍林郭勒市| 蕉岭县| 柏乡县| 徐汇区| 芦山县| 安平县| 诸城市| 蓝田县| 吴堡县| 迭部县| 鄯善县| 托克托县| 洛宁县| 黑山县| 双鸭山市| 常山县| 工布江达县| 正镶白旗| 吐鲁番市| 老河口市| 松江区| 抚宁县| 绥宁县| 三门峡市| 开鲁县| 翁源县| 佳木斯市| 韩城市| 长泰县|