---
title: "init(rect:transform:)"
framework: coregraphics
role: symbol
role_heading: Initializer
path: "coregraphics/cgpath/init(rect:transform:)"
---

# init(rect:transform:)

Create an immutable path of a rectangle.

## Declaration

```swift
init(rect: CGRect, transform: UnsafePointer<CGAffineTransform>?)
```

## Parameters

- `rect`: The rectangle to add.
- `transform`: A pointer to an affine transformation matrix, or NULL if no transformation is needed. If specified, Core Graphics applies the transformation to the rectangle before it is added to the path.

## Return Value

Return Value A new, immutable path. You are responsible for releasing this object.

## Discussion

Discussion This is a convenience function that creates a path of an rectangle. Using this convenience function is more efficient than creating a mutable path and adding an rectangle to it. Calling this function is equivalent to using CGRectGetMinX(_:) and related functions to find the corners of the rectangle, then using the CGPathMoveToPoint, CGPathAddLineToPoint, and closeSubpath() functions to draw the rectangle.

## See Also

### Creating Graphics Paths

- [init(ellipseIn:transform:)](coregraphics/cgpath/init(ellipsein:transform:).md)
- [init(roundedRect:cornerWidth:cornerHeight:transform:)](coregraphics/cgpath/init(roundedrect:cornerwidth:cornerheight:transform:).md)
