Я создаю приложение, в котором мне нужно иметь возможность захватывать фрейм-захват с веб-камеры и загружать его в приложение. Для этого я использую WebRT C, чтобы захватить изображение из видеопотока, записать его на холст, а затем получить данные и загрузить их. Это прекрасно работает по большей части. Однако мне нужно было дать пользователю способ отрегулировать яркость. Чтобы выполнить это sh, я добавил на страницу ползунок с видеопотоком, который применяет "style.webkitFilter = 'яркость (X%)" "при настройке. Опять же, это работает нормально, но не регулирует яркость захваченного изображения, просто отображается поток видео. Функция javascript, которую я использую для фактического захвата изображения:
function takepicture() {
var context = canvas.getContext('2d');
var b = document.getElementById('txtBrightness').value;
if (width && height) {
canvas.width = width;
canvas.height = height;
context.filter = 'brightness(' + b + '%)';
context.drawImage(video, 0, 0, width, height);
var data = canvas.toDataURL();
//photo.setAttribute('src', data);
//alert(data);
document.getElementById('Image').value = data;
//$("#Image").val(data);
$("#form1").submit();
} else {
clearphoto();
}
}
Это работает в Chrome, Firefox, и в версии Edge на основе хрома, однако, она НЕ работает в Edge HTML версии Edge. В этих версиях Edge видеопоток корректно отображается с настроенной яркостью, но у захваченного изображения не настроена яркость. Есть ли обходной путь, чтобы контекстные фильтры работали с Edge HTML версиями браузера Edge?