0

キャンバスから Google App Engine チャネル API を介して、同じ画像を表示する別のクライアントに画像を送信しようとしています。メッセージは受信されていますが、画像が表示されていません。

送信側:

var image = context.getImageData(0, 0, imageCanvas.width, imageCanvas.height);
var buffer = new ArrayBuffer(image.data.length);
var bytes = new Uint8Array(buffer);
for (var i=0; i<bytes.length; i++) {
    bytes[i] = image.data[i];
}

sendMessage({image: buffer});

反対側でのデータのレンダリング:

var bytes = new Uint8Array(buffer.size);
var image = context.createImageData(imageCanvas.width, imageCanvas.height);
for (var i=0; i<image.length; i++) {
    image.data[i] = bytes[i];
}
context.drawImage(image, 0, 0);

コンソールは、最終行にタイプ エラーがあると言い続けます。

4

1 に答える 1

5

drawImage を putImageData と入れ替える

createImageData() は ImageData オブジェクトを返します。

http://tinker.io/e3ec8

ここにも間違いがあります。 for (var i=0; i<image.length; i++) {
画像image.data.lengthの長さではなく

于 2013-07-26T14:48:13.257 に答える