docs.rodeo

MDN Web Docs mirror

CropTarget: fromElement() static method

{{APIRef("Screen Capture API")}} {{SeeCompatTable}} {{securecontext_header}} 

The fromElement() static method of the {{domxref("CropTarget")}}  interface returns a CropTarget instance that can be used to crop a captured video track to the area in which a specified element is rendered.

Because the Region Capture API crops to an area of the current browser tab rather than capturing a specific element, any content drawn on top of the cropped area will be shown in the capture.

Syntax

CropTarget.fromElement(element)

Parameters

Return value

A {{jsxref("Promise")}}  that resolves to a {{domxref("CropTarget")}}  object instance, which can then be passed to {{domxref("BrowserCaptureMediaStreamTrack.CropTo()")}}  to crop the video captured in the track to just the area the specified DOM element is rendered in.

CropTarget objects are serializable. They can be passed to another document using mechanisms such as {{domxref("Window.postMessage()")}} .

Examples

// Options for getDisplayMedia()
const displayMediaOptions = {
  preferCurrentTab: true,
};

// Create crop target from DOM element
const demoElem = document.querySelector("#demo");
const cropTarget = await CropTarget.fromElement(demoElem);

// Capture video stream from user's webcam and isolate video track
const stream =
  await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
const [track] = stream.getVideoTracks();

// Crop video track
await track.cropTo(cropTarget);

// Broadcast cropped stream in <video> element
videoElem.srcObject = stream;

See Using the Element Capture and Region Capture APIs for in-context example code.

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN