JavaScript-如何使用EXIF数据在网络摄像头中拍照?

问题描述 投票:0回答:1

我目前正在网页上使用网络摄像头(不是本机摄像头)在用户的手机上拍照。像这样:

var video: HTMLVideoElement;
...
var context = canvas.getContext('2d');
context.drawImage(video, 0, 0, width, height);
var jpegData = canvas.toDataURL('image/jpeg', compression);

通过这种方式,我现在可以从网络摄像机成功生成JPEG图像数据,并将其显示在网页上。

但是,我发现EXIF数据丢失。据此:https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage

Canvas.drawImage()将忽略图像中的所有EXIF元数据,包括方向。此行为在iOS设备上尤其麻烦。您应该自己检测方向,并使用rotate()使其正确。

我希望JPEG图像包含EXIF GPS数据。在此过程中是否有简单的方法可以包含相机EXIF数据?

谢谢!

javascript jpeg webcam exif
1个回答
0
投票

首先,根据我到目前为止的发现,在画布上下文绘制期间无法包括exif数据。

第二,有一种解决方法,即从原始JPEG文件中提取exif数据,然后在画布上下文绘制之后,将提取的exif数据放回新绘制的JPEG文件中。

杂乱无章,但现在可以解决了。谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.