2012-02-20 49 views
16

我使用UIImagePickerController拍摄和编辑图片。它工作在风景很好,但在肖像会裁剪图片为正方形(不允许降低图像完全融入方农田喜欢在山水任何想法UIImagePickerController - 将图片裁剪为正方形(纵向)

代码:?

-(IBAction)initCamera:(id)sender{ 

//Init imagePicker instance 
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
[imagePicker setDelegate:self]; 

[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; 
[imagePicker setShowsCameraControls:YES]; 
[imagePicker setAllowsEditing:YES]; 

[self presentModalViewController:imagePicker animated:YES]; 
[imagePicker release]; 
} 

回答

4

您可以提供自定义的UI裁剪,但没有办法改变只是标准之一的裁剪矩形。

This链接可能与帮助。

+1

感谢。我只是想知道为什么裁剪对于景观效果不错(我可以将整幅图像放入裁剪区域,所以没有任何东西会丢失),但不适合肖像,它不允许将图像放入广场。 – cabhara 2012-02-20 14:49:26

+0

@cabhara和它的作品为什么好? – George 2013-07-17 12:34:29

11

退房GKImagePicker库,它允许设置自定义映像作物的种植面积,像这样:

self.imagePicker = [[GKImagePicker alloc] init]; 
self.imagePicker.cropSize = CGSizeMake(320, 90); 
self.imagePicker.delegate = self; 

[self presentModalViewController:self.imagePicker.imagePickerController animated:YES]; 
+0

它不允许将相机设置为源类型。它仅适用于画廊! – George 2013-07-17 12:32:44

+0

@George它允许使用图库和相机中的图像。 – 2013-10-09 14:54:31

+0

我更新了答案,包括设置sourceType的示例行 – 2013-10-27 05:06:11

8

我知道它真的来不及回答这个问题,但有人可能会有所帮助。

变化

[imagePicker setAllowsEditing:YES]; 

[imagePicker setAllowsEditing:NO]; 

感谢, 周杰伦

+0

这只是禁用裁剪。想象一下用户想要上传全尺寸肖像的用例,但想要剪出风景照片的一部分。 – carbocation 2015-10-11 17:59:02

+0

@carbocation是的,可以是一个案例。但是,我猜这是全新的功能,你可以通过检查'didFinishPickingImage中的imageOrientation **属性来管理:'UIImagePickerController'的委托方法 – 2015-10-13 05:28:21