webcam - Webcam.js 后置摄像头未正确旋转
问题描述
我正在使用 Webcam.min.js 库来捕获图像。当我水平使用平板电脑时,它工作正常。但是当我垂直做平板电脑时,相机不会旋转。
我的代码是:
<script type="text/javascript" src="../assets/webcam.min.js"></script>
<h4>Take picture</h4>
<div style="float:left;">
<div id="my_camera"></div>
<input type="button" id="snap" value="Take Snapshot" ng-click="ctrl.take_snapshot()">
</div>
<div style="display: inline-block;margin-top: -35px;;margin-left: 30%;;" id="results">Your captured image will appear here...</div>
脚本代码:
Webcam.set({
width: 320,
height: 240,
image_format: 'jpeg',
jpeg_quality: 90,
flip_horiz: true,
constraints: {
video: true,
facingMode: "environment"
}
});
Webcam.attach( '#my_camera' );
this.take_snapshot= function take_snapshot() {
// take snapshot and get image data
Webcam.snap( function(data_uri) {
// display results in page
document.getElementById('results').innerHTML =
'<h5>Captured on : '+new Date()+'</h5>' +
'<img src="'+data_uri+'"/>';
alert(data_uri);
} );
}
我费了很多力气来修复它。但没有运气。
解决方案
我想我在使用手机时有一个解决相机偏好的方法。
该navigator.getUserMedia
功能已弃用,您应该改用较新的MediaDevices.getUserMedia
功能。文档的链接。
在你的Threex.ArToolkitSource.js
文件中的 line143
然后应该更改为
var constraints = { video: {
facingMode: "environment"
mandatory: {
maxWidth: _this.parameters.sourceWidth,
maxHeight: _this.parameters.sourceHeight
}
};
如果有人想改用“自拍”相机,他们会将“环境”更改为“用户”。您甚至可以制作一个按钮在两者之间进行选择。
但是,这可能会导致您更改大量代码
推荐阅读
- c# - 秒表返回一个刻度
- mysql - Postgresq / Python,将更新和插入查询变成一个查询,仅当记录不存在时才插入
- api - IIS 中 swagger api 端点上的 Windows 身份验证
- python - Python 3 和 Django 2 更快地加载或复制对象以供查看?
- swift - Xcode 调试器不显示变量的值?
- azure-data-factory - Azure 数据工厂 - “变量”不是公认的函数
- python - python 3 pycrypto iv 必须为 16 字节长
- android - 创建新片段时,我可以在捆绑包上使用设置器吗
- c# - 如何有效地调整图像的亮度
- sql - 为什么将除数设置为 0 时没有出现除法错误?