简体   繁体   English

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

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

I have my pixel array of html5 canvas pixel array object. 我有html5 canvas像素数组对象的像素数组。 I want to convert it into an integer array and pass it to a C or C++ method to convert this array to bits and save it as a jpeg image 我想将其转换为整数数组并将其传递给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;
    }
}

This int pixel array I want to convert into bits in javascript or at C/C++ side to write it to a file. 我想将此int像素数组转换为javascript或C / C ++端的位,以将其写入文件。

How is this possible? 这怎么可能?

I am working on a webOS hybrid app. 我正在开发一个webOS混合应用程序。

Adrian is right, you can just use javascript to change it into a jpeg: Adrian是对的,您可以使用javascript将其更改为jpeg:

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

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

You can then write it to the DOM 然后可以将其写入DOM

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

Or base64 encode it and pass it to your C++ if you really want. 或者,如果需要,可以对base64进行编码,然后将其传递给C ++。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM