方法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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。