UIImagePickerController – crops picture to square (in portrait)
我正在使用 UIImagePickerController 来拍摄和编辑图片。它在横向工作正常,但在纵向它将图片裁剪成正方形(不允许像横向一样缩小图像以完全适合方形裁剪字段。有什么想法吗?
代码:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
-(IBAction)initCamera:(id)sender{
//Init imagePicker instance [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; [self presentModalViewController:imagePicker animated:YES]; |
查看 GKImagePicker 库,它允许设置您的自定义图像裁剪区域,如下所示:
1
2 3 4 5 |
self.imagePicker = [[GKImagePicker alloc] init];
self.imagePicker.cropSize = CGSizeMake(320, 90); self.imagePicker.delegate = self; [self presentModalViewController:self.imagePicker.imagePickerController animated:YES]; |
- 它不允许将相机设置为源类型。它仅适用于画廊!
- @George 它允许使用画廊和相机中的图像。
- 我更新了答案以包含用于设置 sourceType 的示例行
- @JoshLehman 我遇到了同样的问题,这看起来很完美,但我看不到如何设置源。
- @RecycledSteel 你应该使用 self.imagePicker.imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
- 当我添加 GK 库和图像时,它给了我错误。该怎么办 。?
我知道回答这个问题真的很晚了,但有人可能会觉得这很有帮助。
改变
1
|
[imagePicker setAllowsEditing:YES];
|
到
1
|
[imagePicker setAllowsEditing:NO];
|
谢谢,
周杰伦
- 这只是禁用裁剪。想象一个用例,有人想上传一张全尺寸的肖像,但又想裁剪掉风景照片的一部分。
- @carbocation 是的,可能是这样。但我猜这是全新的功能,您可以通过检查 UIImagePickerController 的 didFinishPickingImage: 委托方法中图像的 imageOrientation 属性来管理
您可以提供自定义裁剪 UI,但无法仅更改标准的裁剪矩形。
此链接可能对此有所帮助。
- 谢谢。我只是想知道为什么裁剪适用于横向(我可以将整个图像放入裁剪正方形,所以不会丢失任何内容),但不适用于纵向,它不允许将图像放入正方形。
来源:https://www.codenong.com/9362712/