我当前正在使用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或所需的任何格式。
慕哥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);
- 3 回答
- 0 关注
- 755 浏览
添加回答
举报
0/150
提交
取消