Как изменить размер изображения Capture.take Photo ()?

Простое исправление заключается в том, чтобы поставить слово static перед каждым методом. Это универсальная статическая окружность истины = 2pi * r, ваш круг может быть больше моего круга (оба экземпляра круга), но чтобы найти область, есть одна формула

0
задан jufrfa 16 January 2019 в 23:14
поделиться

1 ответ

Похоже, вам необходимо проверить PhotoCapabilities вашего ImageCapture, прежде чем вы сможете использовать параметр photoSettings в ImageCapture.takePhoto (photoSettings) . [1111 ]

Для этого вам необходимо вызвать метод getPhotoCapabilities() вашего ImageCapture , а затем проверить диапазоны, установленные как imageHeight и imageWidth.

const capture = new ImageCapture(track);
const { imageWidth, imageHeight } = await capture.getPhotoCapabilities();
const width = setInRange(required_width, imageWidth);
const height = setInRange(required_height, imageHeight);
const photoSettings = (width && height) ? {
  imageWidth: width,
  imageHeight: height
} : null;
const pic = await capture.takePhoto(photoSettings);

function setInRange(value, range) {
  if(!range) return NaN;
  let x = Math.min(range.max, Math.max(range.min, value));
  x = Math.round(x / range.step) * range.step; // take `step` into account
  return x;
}

https://jsfiddle.net/bLrvyet5/

Но может случиться так, что требуемая ширина и высота не указаны в этих MediaSettingsRange ] и, таким образом, вам, возможно, придется самостоятельно изменить размер этого изображения на холсте.

0
ответ дан Kaiido 16 January 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: