在相机覆盖中创建我们自己的裁剪矩形

时间:2012-04-12 07:05:13

标签: iphone ios camera uiimagepickercontroller

我想说明我的基本要求,即在UIImagePickerController中为相机更改裁剪矩形的框架。

我刚刚意识到无法改变裁剪矩形的框架。这让我只有一个选项,即创建我自己的相机覆盖,其中我可以设置裁剪矩形的框架。我搜索了很多,但一无所获。我问previously但没有得到任何结果。我甚至不知道是否可能,如果是,那么如何创建它并移动裁剪框,根据默认的UIImagePickerController裁剪矩形进行缩放。

1 个答案:

答案 0 :(得分:4)

您必须实施自己的CropRect。首先设置

[picker setAllowsEditing:NO];

然后在didFinishPickingMediaWithInfo委托中推送您自己的CropRect视图

CustomImageEditor *custom = [[CustomImageEditor alloc] initWithNibName:@"CustomImageEditor" bundle:nil];
[picker pushViewController:custom animated:YES];
[custom release];

推送视图将图像传递到自定义视图,如下所示

 UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
 custom.pickedImage = image;

在该customView中裁剪图像。

对于裁剪图像,请尝试这样..

CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], cropRect);
UIImage *image = [UIImage imageWithCGImage:imageRef];