Sto tentando di catturare casualmente un'immagine da una webcam e quindi salvarla sul mio server, in questo momento sto usando getUserMedia per trasmettere la webcam all'elemento video, quindi posso acquisire un'immagine per una tela usando un pulsante ma non sono sicuro di come salvare quell'immagine dalla tela al mio server.Catturare un'immagine da una webcam
Un altro problema è getUserMedia funziona solo in Chrome, Opera e Firefox, c'è qualche alternativa per IE?
Questo è quello che sto attualmente lavorando con:
<video id="video" width="640" height="480" autoplay></video>
<button id="snap">Snap Photo</button>
<canvas id="canvas" width="640" height="480"></canvas>
<button id="getBase" onclick="getBase()">Get Base64</button>
<textarea id="textArea"></textarea>
<script>
// 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);
}
// Trigger photo take
document.getElementById("snap").addEventListener("click", function() {
context.drawImage(video, 0, 0, 640, 480);
});
document.getElementByID("getBase").addEventListener("click", getBase());
}, false);
function getBase(){
var imgBase = canvas.toDataURL("image/png");
document.getElementByID("textArea").value=imgBase;
}
</script>`
Grazie Cumuli
Ho tentato di utilizzare toDataUrl, ho aggiunto un clic su un pulsante per chiamare la seguente funzione 'function getBase() { var imgBase = canvas.toDataUrl(); document.getElementByID ("textArea"). Value = imgBase; } Questo dovrebbe essere l'output della stringa Base64 in un'area di testo che ho creato. Qualche indizio sul perché non lo fa? – TurtleTopiary
prova a specificare un formato come questo: '.toDataURL (" image/png ");' forse? –
oh, e forse Url contro URL? –