The takePhoto()
method of the ImageCapture
interface takes a single exposure using the video capture device sourcing a MediaStreamTrack
and returns a Promise
that resolves with a Blob
containing the data.
takePhoto()
takePhoto(photoSettings)
A Promise
that resolves with a Blob
.
This example is extracted from this Simple Image Capture demo. It shows how to use the Promise
returned by takePhoto()
to copy the returned Blob
to an <img>
element. For simplicity it does not show how to instantiate the ImageCapture
object.
let takePhotoButton = document.querySelector("button#takePhoto");
let canvas = document.querySelector("canvas");
takePhotoButton.onclick = takePhoto;
function takePhoto() {
imageCapture
.takePhoto()
.then((blob) => {
console.log("Took photo:", blob);
img.classList.remove("hidden");
img.src = URL.createObjectURL(blob);
})
.catch((error) => {
console.error("takePhoto() error: ", error);
});
}