---
title: "convert(_:to:)"
framework: quartzcore
role: symbol
role_heading: Instance Method
path: "quartzcore/calayer/convert(_:to:)-tly5"
---

# convert(_:to:)

Converts the rectangle from the receiver’s coordinate system to the specified layer’s coordinate system.

## Declaration

```swift
func convert(_ r: CGRect, to l: CALayer?) -> CGRect
```

## Parameters

- `r`: A point specifying a location in the coordinate system of l.
- `l`: The layer into whose coordinate system r is to be converted. The receiver and l and must share a common parent layer. This parameter may be nil.

## Return Value

Return Value The rectangle converted to the coordinate system of l.

## Discussion

Discussion If you specify nil for the l parameter, this method returns the original rect with an origin added to the layer’s frame’s origin. The following example shows code that creates two layers, redLayer and yellowLayer. yellowLayer is scaled so that it is half of its original size. let layerFrame = CGRect(x: 0, y: 0, width: 640, height: 480)       let redLayer = CALayer() redLayer.frame = layerFrame redLayer.backgroundColor = UIColor.red.cgColor       let yellowLayer = CALayer() yellowLayer.frame = layerFrame yellowLayer.backgroundColor = UIColor.yellow.cgColor yellowLayer.transform = CATransform3DMakeScale(0.5, 0.5, 1) The following figure shows the two layers and an overlaid rectangle with a frame of (50, 50, 200, 200) in the red layer’s coordinate system.

The following code shows how you can find the coordinates of that rectangle in the yellow layer’s coordinate system. let rect = CGRect(x: 50, y: 50, width: 200, height: 200) print(redLayer.convert(rect, to: yellowLayer)) // prints (-220.0, -140.0, 400.0, 400.0)

## See Also

### Mapping between coordinate and time spaces

- [convert(_:from:)](quartzcore/calayer/convert(_:from:)-8kl76.md)
- [convert(_:to:)](quartzcore/calayer/convert(_:to:)-7dcke.md)
- [convert(_:from:)](quartzcore/calayer/convert(_:from:)-4kx9l.md)
- [convertTime(_:from:)](quartzcore/calayer/converttime(_:from:).md)
- [convertTime(_:to:)](quartzcore/calayer/converttime(_:to:).md)
