UIImagePickerController中自定义裁剪尺寸

6

我一直在苦苦寻找解决方法,因为这方面的文档很少。我在我的iPhone应用程序中使用UIImagePickerController来选择要应用为稍后视图背景的图像。这很容易做到。不幸的是,如果用户从相机中选择了一个大图像,则需要调整大小和裁剪才能看起来不错。

picker.allowsEditing切换为YES并获取图像编辑器很容易,但默认的裁剪尺寸太小了。我需要将其设置为iPhone屏幕的完整尺寸(旧型号为320,新型号为640)。你怎么做到的?我已经搜索过谷歌并查看了苹果的文档,但找不到任何内容。我找到的最好的解决方案是2009年的一个有点错误的解决方案(http://blog.stormyprods.com/2009/06/image-picker-sample.html),它几乎可以工作,但会将图像向下移动约20个像素。(而且有点过于复杂)肯定有一种优雅、简单的解决方案,我错过了吗?

2个回答

2
一年后 - 你好,和你一样,我没有找到任何有用的东西,所以我创建了这个项目 - 一个为iPad定制的自定义大小裁剪和缩放编辑UIImagePicker Popover。你可以很容易地将它改为iPhone版本,希望能对某些人有所帮助。这是链接地址 - https://github.com/yogev77/UIImagePickerWithEditor

拍照时裁剪,而不是之后裁剪!上述的GitHub项目并不是针对上面提出的问题的解决方案。如果您将图像源设置为相机,则在拍照时不会弹出编辑裁剪框,而是在拍照后弹出。 - Gamma-Point
无法解决内存问题。我想要缩小我的8M相机的内存使用。 - OMGPOP
2
@Gamma-Point,您想在拍照时调整大小和裁剪吗?这不是这个问题所要求的。 - AnthonyBlake

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;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接