DDPerspectiveTransform 1.1.3

DDPerspectiveTransform 1.1.3

Maintained by Dmitriy Dotsenko.

  • By
  • Dmitriy Dotsenko


Language Platform License Version

Warp image transformation




To install DDPerspectiveTransform via CocoaPods, add the following line to your Podfile:

pod 'DDPerspectiveTransform'


Add DDPerspectiveTransform folder to your Xcode project.


See the example Xcode project.

Basic setup

Create the DDPerspectiveTransformViewController instance and set the image and delegate variables. Push/present it.

let cropViewController = DDPerspectiveTransformViewController() 
cropViewController.delegate = self 
cropViewController.image = image
navigationController?.pushViewController(cropViewController, animated: true)

Populating the data

Implement the following delegate methods:

func perspectiveTransformingDidFinish(controller: DDPerspectiveTransformViewController, croppedImage: UIImage)
func perspectiveTransformingDidCancel(controller: DDPerspectiveTransformViewController)


weak var delegate: DDPerspectiveTransformProtocol?
var image: UIImage? // The image for cropping
var padding: CGFloat? // Minimum padding value for all sides
var paddingWidth: CGFloat? // Minimum padding value for left and right sides
var paddingHeight: CGFloat? // Minimum padding value for top and bottom sides
var boxLineColor: UIColor? // The color of box lines
var boxLineWidth: CGFloat? // The width of box lines
var pointSize: CGSize? // The size of checkpoint
var pointColor: UIColor? // The color of checkpoint
var pointImage: UIImage? // The image of checkpoint

func cropAction()
func cancelAction()


  • iOS 8.2
  • Xcode 10, Swift 4.2


DDPerspectiveTransform is available under the MIT license. See the LICENSE file for more info.