我當(dāng)前正在使用Imgur在iOS上使用以下代碼將圖像上傳到服務(wù)器: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"];當(dāng)我在模擬器中運行并從模擬器的圖片庫上傳文件時,該代碼可以正常工作,因為我處于快速以太網(wǎng)連接中。但是,當(dāng)選擇使用iPhone拍攝的圖像時,相同的代碼在iPhone上超時。因此,我通過從網(wǎng)絡(luò)上保存一個小圖像并嘗試上傳該圖像來進行了嘗試。這使我相信iPhone拍攝的大圖像正在通過速度較慢的3G網(wǎng)絡(luò)超時。有沒有辦法在發(fā)送之前對iPhone中的圖像進行壓縮/調(diào)整大?。?
3 回答

紅顏莎娜
TA貢獻1842條經(jīng)驗 獲得超13個贊
您應(yīng)該可以通過執(zhí)行以下操作來制作較小的圖像
UIImage *small = [UIImage imageWithCGImage:original.CGImage scale:0.25 orientation:original.imageOrientation];
(對于四分之一大小的圖像),然后將較小的圖像轉(zhuǎn)換為PNG或所需的任何格式。

慕哥9229398
TA貢獻1877條經(jīng)驗 獲得超6個贊
該代碼段將調(diào)整圖像的大小:
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 關(guān)注
- 787 瀏覽
添加回答
舉報
0/150
提交
取消