为了账号安全,请及时绑定邮箱和手机立即绑定

上传到服务器之前如何在iOS上压缩/调整图像大小?

上传到服务器之前如何在iOS上压缩/调整图像大小?

iOS
慕侠2389804 2019-11-08 14:13:33
我当前正在使用Imgur在iOS上使用以下代码将图像上传到服务器:NSData* imageData = UIImagePNGRepresentation(image);NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString* fullPathToFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"SBTempImage.png"];[imageData writeToFile:fullPathToFile atomically:NO];[uploadRequest setFile:fullPathToFile forKey:@"image"];当我在模拟器中运行并从模拟器的图片库上传文件时,该代码可以正常工作,因为我处于快速以太网连接中。但是,当选择使用iPhone拍摄的图像时,相同的代码在iPhone上超时。因此,我通过从网络上保存一个小图像并尝试上传该图像来进行了尝试。这使我相信iPhone拍摄的大图像正在通过速度较慢的3G网络超时。有没有办法在发送之前对iPhone中的图像进行压缩/调整大小?
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

您应该可以通过执行以下操作来制作较小的图像


UIImage *small = [UIImage imageWithCGImage:original.CGImage scale:0.25 orientation:original.imageOrientation];

(对于四分之一大小的图像),然后将较小的图像转换为PNG或所需的任何格式。


查看完整回答
反对 回复 2019-11-08
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

该代码段将调整图像的大小:


UIGraphicsBeginImageContext(newSize);

[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

变量newSize是a CGSize,可以这样定义:


CGSize newSize = CGSizeMake(100.0f, 100.0f);


查看完整回答
反对 回复 2019-11-08
  • 3 回答
  • 0 关注
  • 755 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信