Emscripten:在HTML文件中显示图像

时间:2015-06-17 15:43:21

标签: javascript c++ c emscripten

我从c ++文件构建JS程序(带有emscripten),生成一个png文件。

该程序在html文件中加载并执行。

现在我想在这个html文件中显示创建的png文件。但是Emscripten有一个模拟的沙盒文件系统,所以我的png文件是在这个文件系统中编写的。

如何检索此文件以显示它?

1 个答案:

答案 0 :(得分:1)

您可以通过File System API脚本来访问它。

假设您在C ++中有一个函数,该函数将返回生成的PNG文件的路径,如下所示:

std::string processImage()
{
    std::string filename = "my.png";
    // open and write to your file
    return filename;
}

在您的html中,添加一些js以读取文件,将其转换为blob,然后转换为对象URL:

const filename = Module.processImage(); // Call your C++ function
const blob = new Blob([FS.readFile(filename)], {'type': 'image/png'});
const url = URL.createObjectURL(blob);
// You can use this url as the src attribute of an img element