我正在开发一款WebAssembly程序。
我可以使用emscripten_set_canvas_size来设置画布大小(尽管我读到需要切换到新的API,因为这一个将被弃用)...
但我的问题是:如何在画布上设置像素? 我的程序为画布生成了一个32位颜色数组,我需要将这些位从内存传输到画布。 我应该怎么做?
另外,如果我能够获取画布数据的内存指针,我就可以直接写入该内存...
如果可能的话,我希望不必使用任何其他API(GL、SDL等),我只需要尽可能快地将颜色转移到画布上...没有更多的要求。
理想情况下,我正在寻找一个简短的示例程序,类似于:
感谢您,Cyrille。
但我的问题是:如何在画布上设置像素? 我的程序为画布生成了一个32位颜色数组,我需要将这些位从内存传输到画布。 我应该怎么做?
另外,如果我能够获取画布数据的内存指针,我就可以直接写入该内存...
如果可能的话,我希望不必使用任何其他API(GL、SDL等),我只需要尽可能快地将颜色转移到画布上...没有更多的要求。
理想情况下,我正在寻找一个简短的示例程序,类似于:
#include <...>
uint32_t screen[320*320];
static void main_loop()
{
memset(screen, 0, 320*320*4); // Clear screen
for (int x=0; x<320; x++)
for (int y=0; y<320; y++)
screen[320*(x|y) + (x&y)]= 0xffffff; // set pixel(x or y, x and y) to white... (will draw a serpinsky triangle)
Copy_ToCanvas(screen); // THIS IS THE FUNCTION THAT I AM LOOKING FOR
}
int main()
{
emscripten_set_canvas_size(320, 320);
emscripten_set_main_loop(main_loop, 100, true);
return 0;
}
感谢您,Cyrille。