Для того чтобы изменить размер области сьемки (а также отображения) в мобильной версии сайта, необходимо произвести изменения размеров элементов , и . Вам придется задать им новые размеры с использованием JavaScript в зависимости от разрешения экрана устройства. Вот пример того, как вы можете это сделать:
const video = document.getElementById('video');
const canvas = document.getElementById('canvas');
const photo = document.getElementById('photo');
function adjustCameraSize() {
const screenWidth = window.innerWidth;
const screenHeight = window.innerHeight;
// Задайте новые размеры элементам в зависимости от размеров экрана
video.width = screenWidth; // Ширина видео
video.height = screenHeight; // Высота видео
canvas.width = screenWidth; // Ширина canvas
canvas.height = screenHeight; // Высота canvas
photo.style.width = `${screenWidth}px`; // Ширина блока с фотографией
photo.style.height = `${screenHeight}px`; // Высота блока с фотографией
}
// Вызывайте функцию при загрузке страницы и при изменении размера окна
window.addEventListener('load', adjustCameraSize);
window.addEventListener('resize', adjustCameraSize);
// Затем настройте вашу камеру с учетом новых размеров
navigator.mediaDevices.getUserMedia({ video: true })
.then((stream) => {
video.srcObject = stream;
video.play();
adjustCameraSize(); // Вызовите функцию снова после получения потока
});
Этот код будет изменять размеры элементов , и в зависимости от размеров экрана устройства, и камера будет адаптироваться к новым размерам. Помимо этого, функция adjustCameraSize() вызывается при загрузке страницы и при изменении размера окна, чтобы учесть все возможные изменения размеров окна.
Учтите, что при изменении размеров элементов, вы также, возможно, захотите обновить свой CSS, чтобы элементы отображались корректно в новых размерах.