Objective-C 通过绘图裁剪图像
Objective-C Cropping Image by Drawing
我是 iOS 的新人。我想通过从用户那里绘制来裁剪图像。我在 google 上搜索了一天,但没有得到结果。
谢谢您的回答。
试试这个代码
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate = self;
[picker setAllowsEditing:YES];
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:nil];
然后你可以从
中获取裁剪图像
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info valueForKey:UIImagePickerControllerEditedImage];
picker dismissViewControllerAnimated:YES completion:^{}];
}
- (UIImage *)crop:(CGRect)rect {
rect = CGRectMake(rect.origin.x*self.scale,
rect.origin.y*self.scale,
rect.size.width*self.scale,
rect.size.height*self.scale);
CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], rect);
UIImage *result = [UIImage imageWithCGImage:imageRef
scale:self.scale
orientation:self.imageOrientation];
CGImageRelease(imageRef);
return result;
}
我是 iOS 的新人。我想通过从用户那里绘制来裁剪图像。我在 google 上搜索了一天,但没有得到结果。 谢谢您的回答。
试试这个代码
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate = self;
[picker setAllowsEditing:YES];
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:nil];
然后你可以从
中获取裁剪图像 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info valueForKey:UIImagePickerControllerEditedImage];
picker dismissViewControllerAnimated:YES completion:^{}];
}
- (UIImage *)crop:(CGRect)rect {
rect = CGRectMake(rect.origin.x*self.scale,
rect.origin.y*self.scale,
rect.size.width*self.scale,
rect.size.height*self.scale);
CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], rect);
UIImage *result = [UIImage imageWithCGImage:imageRef
scale:self.scale
orientation:self.imageOrientation];
CGImageRelease(imageRef);
return result;
}