我當前正在使用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條經驗 獲得超13個贊
您應該可以通過執行以下操作來制作較小的圖像
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 關注
- 784 瀏覽
添加回答
舉報
0/150
提交
取消