2014-10-29 39 views
2

如何在拍攝圖像時在選定區域從UIImagePickerController裁剪圖像。 OverlayView的到UIImagePickerController從選定區域的uiimagepickerviewcontroller中裁剪圖像

+0

什麼都沒有做? :檢查[resize-and-crop-an-uiimage-from-uiimagepickercontroller](http://www.mapostolakis.me/blog/2014/5/24/resize-and-crop-an-uiimage-from-uiimagepickercontroller) – 2014-10-29 10:41:44

+0

我從'UIImagePickerController'捕獲圖像,但我應該要求裁剪區域部分。 – Ronak 2014-10-29 10:48:43

回答

1

下面的代碼

-(UIImage *)centerCropImage:(UIImage *)image 
{ 
    // Use smallest side length as crop square length 
    CGFloat squareLength = MIN(image.size.width, image.size.height); 
    // Center the crop area 
    CGRect clippedRect = CGRectMake((image.size.width - squareLength)/2, (image.size.height - squareLength)/2, squareLength, squareLength); 
    // Crop logic 
    CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], clippedRect); 
    UIImage * croppedImage = [UIImage imageWithCGImage:imageRef]; 
    CGImageRelease(imageRef); 
    return croppedImage; 
} 

後,在imagePickerViewDelegate方法

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage *image = [info objectForKey: @"UIImagePickerControllerOriginalImage"]; 
    [self centerCropImage:image]; //Just give your image here for cropping 
    yourImage.image=image; 
    picker.delegate =self; 
    [picker dismissViewControllerAnimated:YES completion:nil]; 
} 
+0

謝謝你的幫助 – Ronak 2014-10-29 11:16:16

+0

它工作完美嗎? – user3182143 2014-10-29 11:17:41

+0

我有一個問題,當我點擊捕獲按鈕,當時哪個方法叫...? – Ronak 2014-10-29 12:10:29