问题
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