JavaScript - Как сделать снимок в веб-камеру с данными EXIF? - PullRequest
0 голосов
/ 02 ноября 2019

В настоящее время я использую веб-камеру (не собственную камеру) на веб-странице, чтобы сделать фотографию на мобильный телефон пользователя. Например:

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

Таким образом, теперь я могу успешно генерировать данные изображения JPEG с веб-камеры и отображать их на веб-странице.

Однако я обнаружил, чтоДанные EXIF ​​отсутствуют. в соответствии с this :

Canvas.drawImage () будет игнорировать все метаданные EXIF ​​в изображениях, включая ориентацию. Это поведение особенно проблематично на устройствах iOS,Вы должны определить ориентацию самостоятельно и использовать rotate (), чтобы сделать это правильно.

Я бы хотел, чтобы изображение JPEG содержало данные EXIF ​​GPS. Есть ли простой способ включить данные EXIF ​​камеры во время процесса?

Спасибо!

1 Ответ

0 голосов
/ 11 ноября 2019

Во-первых, согласно тому, что я нашел до сих пор, нет способа включить данные exif во время рисования контекста холста.

Во-вторых, есть способ обойти это, извлекать данные exif. из исходного файла JPEG, а затем после рисования контекста холста поместите извлеченные данные exif обратно во вновь нарисованный файл JPEG.

Это грязно и немного странно, но пока это обходной путь. Спасибо!

...