问题
I just figured out a way to change rect for crop box which appears after capturing an image from UIImagePickerViewController. This can be done with help of UIImagePickerControllerCropRect. But I have no idea how to use it. Originally the crop box is square. I want it to be rectangular.
Can someone share an example with me?
回答1:
You cannot do this using the built in UIImagePickerController functionality. Unfortunately, you can't control the size of the crop box.
Here is a project on github that may help you accomplish what you are looking to do (checkout YSImageCrop.h).
Basically, the bottom line is that you have to implement the UIImagePickerController functionality yourself. I believe the UIImagePickerWithEditor project is a good place to start.
回答2:
Yes, we can do that.
Create the User defined Function like this:
- (UIImage *)imageByCropping:(UIImage *)imageToCrop toRect:(CGRect)rect
{
CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect);
UIImage *cropped = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
return cropped;
}
And call this code:
UIImage *img1=[self imageByCropping:img toRect:CGRectMake(0,0, 106.6, 106.6)];
UIImageView *image_view=[[UIImageView alloc] initWithImage:img1];
来源:https://stackoverflow.com/questions/10100220/how-to-use-uiimagepickercontrollercroprect