在发送到服务器之前在 iPhone 中调整照片大小

Posted

技术标签:

【中文标题】在发送到服务器之前在 iPhone 中调整照片大小【英文标题】:resizing a photo in iPhone before sending to a server 【发布时间】:2011-05-18 20:26:21 【问题描述】:

制作一个我们想要将照片连同一些表单数据发送到服务器的应用。图片很大,上传需要很长时间,我们真的不需要网站上的像素信息。有什么方法可以调整图像的大小(来自相机或您的画廊),以便我们只将更小的图像发送到网络空间?这在 android 中很容易做到,但我们正在努力为 iPhone 找到一个简单的解决方案。

【问题讨论】:

【参考方案1】:

请参阅Resize a UIImage the right way 调整代码大小和讨论。要选择图像,您可以这样做

// select image
UIImagePickerController *picker = [UIImagePickerController new];
picker.delegate = self;
picker.allowsEditing = YES;
[yourViewController presentModalViewController:picker];

// delegate method
- (void) imagePickerController:(UIImagePickerController *)picker 
 didFinishPickingMediaWithInfo:(NSDictionary *)info 
    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];

【讨论】:

+1 表示“以正确的方式调整 UIImage 的大小”。这是一个真正的图像大小调整教程,包含(优秀的)代码以供使用。【参考方案2】:

WWDC 2010 会议 N104 涵盖了大多数问题。有一个滚动视图,但是描述的方法可以在你的任务中使用。

【讨论】:

【参考方案3】:

在 UIImage 中:

 + (UIImage *)imageWithCGImage:(CGImageRef)imageRef scale:(CGFloat)scale orientation:(UIImageOrientation)orientation

只是想出一个想法......

UIImage smallerImage = [[ UIImage imageWithCGImage: biggerImage.CGImage scale: 0.1 orientation:  orient

【讨论】:

以上是关于在发送到服务器之前在 iPhone 中调整照片大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPhone 中以高质量调整图像大小

iPhone OS 图像/照片大小调整工具更改 EXIF 方向数据

UiImagePickerController - 多张照片

发送到服务器之前的图像裁剪/调整大小

在 iOS 7+ 中将照片大小调整为 5 英寸高 x 4.5 英寸宽

在 iPhone 上的 UIImagePicker 中重新调整图像大小