要領1
假如想運用 canvas
原生的 toDataURL
,參考這篇問答,以下代碼是具體要領。但這個要領假如在iOS裝備
上運用,獵取到的圖象會高低翻轉(結果相當於css3
的transform: scaleY(-1);
)。緣由不明,能夠也是webGL搞鬼吧。
//用WebGL時,要襯着后同步獵取base64才有用,異步再來就只能拿到一張黑圖
app.render();
$previewPic.src = app.view.toDataURL();
要領2
let app = new PIXI.Application();
app.renderer.plugins.extract.base64(app.stage);
這類要領實在就是把canvas
中的app.stage
轉為base64
,這有個問題是,假如你放進app.stage
的內容沒有撐滿canvas
,輸出的base64圖象
則會比canvas
要小,假如app.stage
的內容溢出了canvas
,溢出部份依舊會輸出在base64圖象
中,所以需要給stage
加一個mask
,以及一個通明的恰好充溢canvas
的PIXI.Graphics