Corner Distort

Corner Distort operator properties for Script Engine. Warps the image by moving each of its four corners independently, producing a perspective-style transform. Useful for screen-replacement effects where a flat video has to be mapped onto a tilted screen in another shot, virtual-set work that needs perspective correction on a graphic, lining up tracked footage to a planar surface, faking camera angles on a static graphic, and applying simple keystone correction. All eight values are pixel offsets from the original corner positions — set them all to zero to leave the image untouched.

Property Type Access Description
TopLeftX double get/set Horizontal offset (in pixels) for the top-left corner. [default=0]. Positive values push the corner inward (right); negative values push it outward (left).
TopLeftY double get/set Vertical offset (in pixels) for the top-left corner. [default=0]. Positive values push the corner downward; negative values push it upward.
TopRightX double get/set Horizontal offset (in pixels) for the top-right corner. [default=0]. Positive values push the corner outward (right); negative values push it inward (left).
TopRightY double get/set Vertical offset (in pixels) for the top-right corner. [default=0]. Positive values push the corner downward; negative values push it upward.
BottomLeftX double get/set Horizontal offset (in pixels) for the bottom-left corner. [default=0]. Positive values push the corner inward (right); negative values push it outward (left).
BottomLeftY double get/set Vertical offset (in pixels) for the bottom-left corner. [default=0]. Positive values push the corner upward; negative values push it downward.
BottomRightX double get/set Horizontal offset (in pixels) for the bottom-right corner. [default=0]. Positive values push the corner outward (right); negative values push it inward (left).
BottomRightY double get/set Vertical offset (in pixels) for the bottom-right corner. [default=0]. Positive values push the corner upward; negative values push it downward.
ExpandBounds bool get/set Grow the output raster so corners pushed outside the source rectangle stay visible. [default=true]. With this off the warp is rasterised into a frame exactly the size of the input, so a corner dragged outward runs off the edge and the picture is cut at the source rectangle - pulling corners inward still works, pushing them out does not. With it on the operator pads its output by however far the corners overshoot and the layer compensates, so the picture grows the way After Effects' Corner Pin does. Padding costs GPU memory and bandwidth for the whole rest of the operator chain, which then runs at the larger size; it is zero whenever every corner sits inside the source rectangle.
ResetCmd Command get Reset all settings to their defaults (all eight corner offsets set to 0, Expand bounds back on).

Inherits from: AbstractOperator, AbstractAudioMetering, NamedModel.

See also: Corner Distort in Operators — user-facing introduction, screenshots, and section summaries.