如何将画布像素数组传递给C++代码并将其保存为 jpeg

How to pass canvas pixel array to C++ code and save it in jpeg?

本文关键字:代码 C++ 保存 jpeg 数组 布像素 像素      更新时间:2023-09-26

我有我的 html5 画布像素数组对象的像素数组。 我想将其转换为整数数组并将其传递给 C 或 C++ 方法,将此数组转换为位并将其另存为 jpeg 图像

var intPixArray = new Array(canavsPixelArray.length);
var k = 0;
for(var i = 0; i <img.height; i++){
    for(var j = 0; j <img.width; j++){
       intPixArray[k] = canvaspixel[k];
       intPixArray[k+1] = canvaspixel[k+1];
       intPixArray[k+2] = canvaspixel[k+2];
       intPixArray[k+3] = canvaspixel[k+3];
       k+=4;
    }
}

这个 int 像素数组我想在 javascript 中或在 C/C++ 端转换为位以将其写入文件。

这怎么可能?

我正在开发一个 webOS 混合应用程序。

>Adrian是对的,你可以使用javascript将其更改为jpeg:

将 HTML Canvas 捕获为 gif/jpg/png/pdf?

var canvas = document.getElementById("mycanvas");
var context = canvas.getContext("2d");
var img     = canvas.toDataURL("image/jpeg");

然后,您可以将其写入 DOM

document.write('<img src="'+img+'"/>');

或者 base64 对其进行编码,如果您真的愿意,可以将其传递给您的C++。