Ik ben bezig met een webcam script om een foto te maken. De code bestaat uit 2 delen. Een is de live cam tonen en de andere voor de genomen foto.
Maar het probleem is, als ik de foto maak, wordt het resultaat weergegeven in de canvas. Is het mogelijk om het resultaat in de live video te zetten?
Code:
// Put event listeners into place
window.addEventListener("DOMContentLoaded", function() {
// Grab elements, create settings, etc.
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "video": true },
errBack = function(error) {
console.log("Video capture error: ", error.code);
};
// Put video listeners into place
if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
} else if(navigator.mozGetUserMedia) { // WebKit-prefixed
navigator.mozGetUserMedia(videoObj, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}
// Trigger photo take
document.getElementById("snap").addEventListener("click", function() {
context.drawImage(video, 0, 0, 200, 150);
});
}, false);
HTML:
<video id="video" width="200" height="150" autoplay></video>
<canvas id="canvas" width="200" height="150"></canvas>
<button id="snap">Snap Photo</button>
Maar het probleem is, als ik de foto maak, wordt het resultaat weergegeven in de canvas. Is het mogelijk om het resultaat in de live video te zetten?