更新:
随着iPhone OS 3.0+的推出,整个UIImagePickerController API已经发生了变化。本问答应被视为2.2版本的旧代码。
当使用UIImagePickerController并允许编辑图像时,iPhone会允许用户调整和平移图像。但是,编辑后的图像最大尺寸被限制在320x320。
例如,我拍了一张iPhone截图并将其放置在照片库中,这是一个480x320的png文件。当我使用UIImagePickerController选择该图像时,即使我不缩放或平移图像,它也会在从UIImagePickerController返回之前被裁剪为320x320。但是,如果我关闭编辑功能,则会以正确的480x320大小返回图像。
我的理论: 非常微妙地,iPhone显示了两个非标准的半透明工具栏,覆盖在图像上方。这些工具栏在照片上留下一个无害的320x320的“窗口”。看起来,这个窗口有效地裁剪了底层的照片。
注意: 回调还返回一个编辑字典,其中包含原始图像和裁剪矩形,但矩形当然也是最大320x320。
有没有想法如何允许缩放和平移大于320x320的图像?
一些代码:
随着iPhone OS 3.0+的推出,整个UIImagePickerController API已经发生了变化。本问答应被视为2.2版本的旧代码。
当使用UIImagePickerController并允许编辑图像时,iPhone会允许用户调整和平移图像。但是,编辑后的图像最大尺寸被限制在320x320。
例如,我拍了一张iPhone截图并将其放置在照片库中,这是一个480x320的png文件。当我使用UIImagePickerController选择该图像时,即使我不缩放或平移图像,它也会在从UIImagePickerController返回之前被裁剪为320x320。但是,如果我关闭编辑功能,则会以正确的480x320大小返回图像。
我的理论: 非常微妙地,iPhone显示了两个非标准的半透明工具栏,覆盖在图像上方。这些工具栏在照片上留下一个无害的320x320的“窗口”。看起来,这个窗口有效地裁剪了底层的照片。
注意: 回调还返回一个编辑字典,其中包含原始图像和裁剪矩形,但矩形当然也是最大320x320。
有没有想法如何允许缩放和平移大于320x320的图像?
一些代码:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
self.myImageView.userInteractionEnabled=YES;
CGRect imageFrame = myImageView.frame;
CGPoint imageCenter = myImageView.center;
imageFrame.size = img.size;
myImageView.frame = imageFrame;
self.myImageView.image = img;
myImageView.center = imageCenter;
[self dismissModalViewControllerAnimated:YES];
[self performSelector:@selector(hideToolBars) withObject:nil afterDelay:2.0];
}