假设我有一个Pixijs应用程序,如下所示 https://codesandbox.io/s/o3qfi

我需要将由pixijs渲染的内容保存在画布中作为屏幕截图.

我try 访问画布,如下所示

app.renderer.view.toDataURL("image/png", 1.0)

也是通过

document.getElementsByTagName('canvas')[0].toDataURL("image/png", 1.0)

但是,它们都返回一个空的透明图像,而不是由pixijs呈现的画布内容

推荐答案

你需要从renderer减到extract.

例如,如果要打印stage:

let blob = app.renderer.plugins.extract.image(app.stage).src;
window.location.href = blob.replace("image/png", "image/octet-stream");

Will download the following image:
enter image description here

Javascript相关问答推荐

环境值在.js文件/Next.js中不起作用

当我在Reaction中创建一个输入列表时,我的输入行为异常

在VS代码上一次设置多个变量格式

SPAN不会在点击时关闭模式,尽管它们可以发送日志(log)等

在JS中动态创建对象,并将其追加到HTML表中

是否可以将Select()和Sample()与Mongoose结合使用?

在Vercel中部署Next.js项目时获取`ReferenceError:未定义文档`

如何在Java脚本中对数据进行签名,并在PHP中验证签名?

Cherrio JS返回父div的所有图像SRC

如何修复错误&语法错误:不能在纯react 项目中JEST引发的模块&之外使用导入语句?

顶点图使用组标签更新列之间的条宽

ComponentWillReceiveProps仍在React 18.2.0中工作

在范围数组中查找公共(包含)范围

当S点击按钮时,我如何才能改变它的样式?

在此div中添加一个类,并在一段时间后在Java脚本中将其删除

如何在HTML中使用rxjs显示动态更新

将数据对象代码中缺失的属性添加到单个对象不起作用

ChartJS定义默认Y轴数据集

Chartjs 2.7.2,数据集的堆叠折线图背景 colored颜色 重叠

Jsyaml SafeDump打字支持