UIImagePickerController中的自定义裁剪尺寸

时间:2010-09-18 03:20:21

标签: iphone objective-c cocoa-touch uikit ios

我一直在努力解决这个问题,因为关于这个主题的文档很少。我的iPhone应用程序中有一个UIImagePickerController,用于选择要在以后作为视图背景应用的图像。这很容易做到。不幸的是,如果用户从相机胶卷中选择一张大图像,则需要调整大小并进行裁剪才能看起来不错。

picker.allowsEditing切换为YES并轻松启动图像编辑器非常简单,但默认裁剪尺寸太小。我需要将它设置为iPhone屏幕的全尺寸(旧型号为320,新型号为640)。你是怎样做的?我一直在谷歌搜索并查看Apple的文档,但我找不到任何东西。我发现的最好的是2009年(http://blog.stormyprods.com/2009/06/image-picker-sample.html)的一个稍微错误的解决方案几乎可以工作,但它将图像向下移动大约20px。 (另外,它有点过于复杂。)当然有一个优雅,简单的解决方案,我不知道?

2 个答案:

答案 0 :(得分:2)

一年后 - 嗨,和你一样,我没有找到任何有用的东西,所以我创建了这个项目 - 用于iPad的自定义尺寸裁剪和缩放编辑UIImagePicker Popover。

你可以轻松地为iPhone改变它,希望能帮助某人。 这是 - https://github.com/yogev77/UIImagePickerWithEditor

答案 1 :(得分:0)

可能这应该有效:

-(UIImage *)imageWithImage:(UIImage *)image CovertToSize:(CGSize)size {
      UIGraphicsBeginImageContext(size);
      [image drawInRect:CGRectMake(0, 0, size.width, size.height)];
      UIImage *destImage = UIGraphicsGetImageFromCurrentImageContext();    
      UIGraphicsEndImageContext();
      return destImage;
}