我只想知道如何使用JavaScript从网络摄像头拍摄图像并将该图像创建到网页上。我已经看到了其他的方式,但是他们都没有解释如何使用它。有人可以解释如何做到这一点?如何从Html网络摄像头拍摄图像
2
A
回答
2
最初,画布元素的显示设置为无。只有视频帧是可见的。当用户点击CAPTURE时,将显示画布并显示视频元素。按钮内容更改为RETAKE。在codepen capture image using javascript
(function() {
var streaming = false,
video = document.querySelector('#video'),
canvas = document.querySelector('#canvas'),
buttoncontent = document.querySelector('#buttoncontent'),
photo = document.querySelector('#photo'),
startbutton = document.querySelector('#startbutton'),
width = 320,
height = 0;
navigator.getMedia = (navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia);
navigator.getMedia({
video: true,
audio: false
},
function(stream) {
if (navigator.mozGetUserMedia) {
video.mozSrcObject = stream;
} else {
var vendorURL = window.URL || window.webkitURL;
video.src = vendorURL.createObjectURL(stream);
}
video.play();
},
function(err) {
console.log("An error occured! " + err);
}
);
video.addEventListener('canplay', function(ev) {
if (!streaming) {
height = video.videoHeight/(video.videoWidth/width);
video.setAttribute('width', width);
video.setAttribute('height', height);
canvas.setAttribute('width', width);
canvas.setAttribute('height', height);
streaming = true;
}
}, false);
function takepicture() {
\t video.style.display = "none";
canvas.style.display = "block";
startbutton.innerText= "RETAKE";
\t canvas.width = width;
canvas.height = height;
canvas.getContext('2d').drawImage(video, 0, 0, width, height);
var data = canvas.toDataURL('image/png');
photo.setAttribute('src', data);
}
startbutton.addEventListener('click', function(ev) {
\t if(startbutton.innerText==="CAPTURE")
{
\t takepicture();
}
else
{
\t video.style.display = "block";
\t canvas.style.display = "none";
startbutton.innerText= "CAPTURE";
}
ev.preventDefault();
}, false);
})();
<video id="video"></video>
<canvas id="canvas" style="display:none;"></canvas>
<div id="buttoncontent">
</div>
<button id="startbutton">CAPTURE</button>
+0
你的代码有它的错误 –
+0
检查codepen链接.. –
+0
Shinoy Shaji,我测试了使用W3和尝试按钮,每次,他们有一个错误,说: “消息”:“未捕获TypeError:无法读取属性'setAttribute'null” –
相关问题
- 1. 从网络摄像头拍摄的图片的形状识别
- 2. 从网络摄像头拍摄网站快照
- 3. 从网络摄像头捕捉图像
- 4. 从网络摄像头图像保存
- 5. 从网络摄像头捕获图像
- 6. 从网络摄像头捕捉图像
- 7. 使用JMF从网络摄像头拍摄快照
- 8. 从网络摄像头拍摄照片c#
- 9. 使用Java小程序从网络摄像头裁剪拍摄的图像
- 10. android:摄像头不拍摄
- 11. 如何在HTML页面中使用网络摄像头拍摄快照?
- 12. 如何从网络摄像机拍摄单张快照?
- 13. 从网络摄像机拍摄图片并使用FTP上传
- 14. 定期拍摄照片,同时使用网络摄像头流式传输网络摄像头
- 15. 使用IDS uEye网络摄像头拍摄快照 - 黑色图像
- 16. PCA如何在摄像头拍摄的图像上实现?
- 17. 如何获取前置摄像头拍摄的图像路径
- 18. 如何显示用Emgu拍摄的摄像头图像?
- 19. 把图像放在摄像头拍摄的图像上
- 20. 调整从Android摄像头拍摄的图像
- 21. iPhone网络摄像头Feed
- 22. 网络摄像头校准
- 23. 网络摄像头捕捉
- 24. Aforge为网络摄像头
- 25. 如何在网站上使用网络摄像头拍摄快照?
- 26. 如何从客户端网络摄像头获取图像
- 27. 如何在python2中从网络摄像头捕捉图像?
- 28. 如何从网络摄像头拍照到html页面打印出来?
- 29. 检查网络摄像头摄像头设备GNOME库
- 30. C#摄像头在网络摄像头winform
7次没有不喜欢
工作演示。疯了吧! –
可以访问在线教程。简单的http://google.it它没有那么困难 –