Skip to content

Another fork of PEPhotoCropEditor, bugs fixed in Swift.

License

Notifications You must be signed in to change notification settings

imjerrybao/CMPhotoCropEditor

Repository files navigation

CMPhotoCropEditor

Another fork of PEPhotoCropEditor, bugs fixed in Swift.

Image cropping library for iOS, similar to the Photos.app UI.

ScreenShot 1 

Features

  • Both iPhone/iPad available
  • Works fine any device orientations
  • Support pinch gesture to zoom
  • Support rotation gesture

System requirements

  • iOS 5.0 or higher

Installation

CocoaPods

pod 'CMPhotoCropEditor'

Usage

Use view controller component

 PECropViewController *controller = [[PECropViewController alloc] init];
 controller.delegate = self;
 controller.image = self.imageView.image;
 
 UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:controller];
 [self presentViewController:navigationController animated:YES completion:NULL];

Or use the crop view directly

self.cropView = [[PECropView alloc] initWithFrame:contentView.bounds];
[self.view addSubview:self.cropView];

Get the cropped image

delegate method

- (void)cropViewController:(PECropViewController *)controller didFinishCroppingImage:(UIImage *)croppedImage
{
    [controller dismissViewControllerAnimated:YES completion:NULL];
    self.imageView.image = croppedImage;
}

retrieve from view directly

UIImage *croppedImage = self.cropView.croppedImage;

Keep crop aspect ratio while resizing

controller.keepingCropAspectRatio = YES;
self.cropView.keepingCropAspectRatio = YES;

Specify crop rect by image size based

// e.g.) Cropping center square
CGFloat width = image.size.width;
CGFloat height = image.size.height;
CGFloat length = MIN(width, height);
controller.imageCropRect = CGRectMake((width - length) / 2,
                                      (height - length) / 2,
                                      length,
                                      length);
// e.g.) Cropping center square
CGFloat width = image.size.width;
CGFloat height = image.size.height;
CGFloat length = MIN(width, height);
self.cropView.imageCropRect = CGRectMake((width - length) / 2,
                                         (height - length) / 2,
                                         length,
                                         length);

Reset back crop rect to original image size and rotation

[controller resetCropRect];
[self.cropView resetCropRect];

License

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

About

Another fork of PEPhotoCropEditor, bugs fixed in Swift.

Resources

License

Stars

Watchers

Forks

Packages

No packages published