---
title: "setCropRectangleRamp(fromStartCropRectangle:toEndCropRectangle:timeRange:)"
framework: avfoundation
role: symbol
role_heading: Instance Method
path: "avfoundation/avmutablevideocompositionlayerinstruction/setcroprectangleramp(fromstartcroprectangle:toendcroprectangle:timerange:)"
---

# setCropRectangleRamp(fromStartCropRectangle:toEndCropRectangle:timeRange:)

Sets a crop rectangle ramp to apply during the specified time range.

## Declaration

```swift
func setCropRectangleRamp(fromStartCropRectangle startCropRectangle: CGRect, toEndCropRectangle endCropRectangle: CGRect, timeRange: CMTimeRange)
```

## Parameters

- `startCropRectangle`: The crop rectangle to be applied at the starting time of the timeRange.
- `endCropRectangle`: The crop rectangle to be applied at the end time of the timeRange.
- `timeRange`: The time range over which the value of the opacity is interpolated between startCropRectangle and endCropRectangle.

## Discussion

Discussion The origin of the crop rectangle is the top-left corner of the buffer clean aperture rectangle. The crop rectangle is defined in square pixel space, that is, without taking the pixel aspect ratio into account. Crop rectangles extending outside of the clean aperture, are cropped to the clean aperture. During a crop rectangle ramp, the rectangle is interpolated between the values set at the ramp’s start time and end time. When the starting or ending rectangle is empty, interpolations take into account the origin and size of the empty rectangle. Before the first specified time for which a crop rectangle is set, the crop rectangle is held constant to CGRectInfinite and after the last time for which a crop rectangle is set, the crop rectangle is held constant at that last value.

## See Also

### Setting crop rectangle values

- [setCropRectangle(_:at:)](avfoundation/avmutablevideocompositionlayerinstruction/setcroprectangle(_:at:).md)
