【问题标题】:Camera Orientation in android browserAndroid浏览器中的相机方向
【发布时间】:2018-09-10 20:37:32
【问题描述】:

我试图在用户拍照时检测相机方向,以便在画布上绘制时进行调整。问题是我无法使用设备方向,因为即使在方向锁定打开时我也需要它工作。

相机设置

// Get access to the camera!
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
    // Not adding `{ audio: true }` since we only want video now
    navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
        video.src = window.URL.createObjectURL(stream);
        video.play();
    });
}

视频流快照

// Elements for taking the snapshot
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var video = document.getElementById('video');

// Trigger photo take
document.getElementById("snap").addEventListener("click", function() {
    context.drawImage(video, 0, 0, 640, 480);
});

来自David Walsh - browser camera的参考代码

【问题讨论】:

  • 你找到解决这个问题的方法了吗?我正在做类似的事情并在移动设备上获得相同的行为......拍摄的照片是移位或切片。

标签: javascript html camera


【解决方案1】:

您是否想在拍摄后将照片形象化? 如果是这样,您是否尝试过使用附在照片上的相机方向信息,而不是在拍照时获取它?

请参考此链接:Android : How to detect the image orientation (portrait or landscape) picked from gallery while setting on an imageview?

如果想要拍照时的设备方向,可以查看how to detect orientation of android device?https://developer.android.com/guide/topics/sensors/sensors_position

请提供您的代码以便更好地帮助您。

【讨论】:

  • 我提供的代码就是我使用的代码。拍摄的图片只是 videoInput 设备的快照,因此无法从 exif 中获取方向
  • 这也是一个非原生安卓的网络应用
猜你喜欢
  • 2013-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-09
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
相关资源
最近更新 更多