如何将canvas像素数组传递给C ++代码并将其保存在jpeg中?

时间:2011-05-17 05:29:41

标签: javascript c++ c webos

我有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混合应用程序。

1 个答案:

答案 0 :(得分:0)

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

Capture HTML Canvas as 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 ++,如果你真的想要的话。