关于 ios:UIImagePickerController – 将图片裁剪为正方形(纵向) | 珊瑚贝

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
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setDelegate:self];

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

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


查看 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/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_10005.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?