Мне нужно сделать снимок из mjpeg player, используя canvas, я использовал этот mjpeg player: https://gist.github.com/codebrainz/eeeeead894e8bdff059b Поэтому, когда я нажимаю на стоп, я должен получить изображение, однако я всегда получаю ImageData со значением 0 как показано ниже
Это мой код кадра обновления:
function updateFrame(img) {
var srcRect = {
x: 0, y: 0,
width: img.naturalWidth,
height: img.naturalHeight
};
var dstRect = scaleRect(srcRect, {
width: canvas.width,
height: canvas.height
});
try {
context.drawImage(img,
srcRect.x,
srcRect.y,
srcRect.width, //240
srcRect.height, //200
dstRect.x,
dstRect.y,
dstRect.width,
dstRect.height
);
//console.log(srcRect.x + "----" +srcRect.y);
var image = context.getImageData(0, 0, 240, 200);
var imageData = image.data;
length = imageData.length;
console.log(imageData)
} catch (e) {
// if we can't draw, don't bother updating anymore
self.stop();
console.log("!");
throw e;
}
}