당신은 루프를 필요
//assuming canvas, ctx and video is set previously and available in all scopes.
var fps = 1000/25; //Approximately 25 frames per second
var videoDrawInterval = setInterval(function() {
ctx.drawImage(video, 0, 0, 640, 480);
}, fps);
something.onclick = function() {
clearInterval(videoDrawInterval);
var snapshotImg = new Image();
snapshotImg.src = canvas.toDataURL('image/jpeg', 0.5); //Second param is jpg quality
var win = window.open('', 'Snapshot', 'width=640, height=480' );
win.document.body.appendChild(snapshotImg);
}
곰 테스트를 위해 내가 PNG 형식을 사용하는 것이 좋습니다 것 때문에 JPEG 압축은 모든 브라우저에서 지원되지 않는 것을 염두에두고 :
canvas.toDataURL('image/png');
는 일부를 사용 했나요 'drawImage'에 어떤 종류의 루프가 있습니까? 한 번만 호출하면 작동하지 않습니다. 각 프레임에서 캔버스 컨텍스트를 업데이트해야합니다. – Ingmars
루프가 사용되지 않았습니다. – user3508453
어떤 종류의 루프를 사용해야합니까 @Ingmars – user3508453