亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IOS開發中圖片上傳時兩種圖片壓縮方式的示例分析

發布時間:2021-07-24 11:58:19 來源:億速云 閱讀:213 作者:小新 欄目:移動開發

小編給大家分享一下IOS開發中圖片上傳時兩種圖片壓縮方式的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

上傳圖片不全面的想法:把圖片保存到本地,然后把圖片的路徑上傳到服務器,最后又由服務器把路徑返回,這種方式不具有擴展性,如果用戶換了手機,那么新手機的沙盒中就沒有服務器返回的圖片路徑了,此時就無法獲取之前已經上傳了的頭像了,在項目中明顯的不可行。

上傳圖片的正確方式:上傳頭像到服務器一般是將圖片NSData上傳到服務器,服務器返回一個圖片NSString地址,之后再將NSString的路徑轉為url并通過url請求去更新用戶頭像(用戶頭像此時更新的便是NSString)

代碼為:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
 // 設置請求格式
 manager.requestSerializer = [AFJSONRequestSerializer serializer];
 // 設置返回格式
 manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager POST:[NSString stringWithFormat:@"%@%@", XLImageServerHost, functionName] parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
/////傳的圖片數據放這里
 NSData *eachImgData = UIImageJPEGRepresentation(image, 0.5);
 [formData appendPartWithFileData :eachImgData name : @"upload" fileName : @"picture.jpg" mimeType : @"image/jpeg" ];
 } success:^(AFHTTPRequestOperation *operation, id responseObject) {
 ///請求成功
 } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
 ///請求失敗
 }];

現在來介紹一下:UIImageJPEGRepresntation 和 UIImagePNGRepresontation的區別

在Iphone上有兩種讀取圖片數據的簡單方法: UIImageJPEGRepresentation和UIImagePNGRepresentation. 

UIImageJPEGRepresntation:

UIImageJPEGRepresentation方法在耗時上比較少 而UIImagePNGRepresentation耗時操作時間比較長

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

使用UIImagePNGRepresentation取得照片時候可能會造成卡頓的現象

在Iphone上有兩種讀取圖片數據的簡單方法: UIImageJPEGRepresentation和UIImagePNGRepresentation.

UIImagePNGRepresontation:

UIImageJPEGRepresentation函數需要兩個參數:圖片的引用和壓縮系數.而UIImagePNGRepresentation只需要圖片引用作為參數.通過在實際使用過程中,比較發現: UIImagePNGRepresentation(UIImage* image) 要比UIImageJPEGRepresentation(UIImage* image, 1.0) 返回的圖片數據量大很多.

譬如,同樣是讀取攝像頭拍攝的同樣景色的照片, UIImagePNGRepresentation()返回的數據量大小為199K ,而 UIImageJPEGRepresentation(UIImage* image, 1.0)返回的數據量大小只為140KB,比前者少了50多KB.如果對圖片的清晰度要求不高,還可以通過設置 UIImageJPEGRepresentation函數的第二個參數,大幅度降低圖片數據量.

譬如,剛才拍攝的圖片, 通過調用UIImageJPEGRepresentation(UIImage* image, 1.0)讀取數據時,返回的數據大小為140KB,但更改壓縮系數后,通過調用UIImageJPEGRepresentation(UIImage* image, 0.5)讀取數據時,返回的數據大小只有11KB多,大大壓縮了圖片的數據量 ,而且從視角角度看,圖片的質量并沒有明顯的降低.因此,在讀取圖片數據內容時,建議優先使用UIImageJPEGRepresentation,并可根據自己的實際使用場景,設置壓縮系數,進一步降低圖片數據量大小.

以上是“IOS開發中圖片上傳時兩種圖片壓縮方式的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ios
AI

会泽县| 盐亭县| 子洲县| 青神县| 揭阳市| 老河口市| 上饶县| 黄石市| 新邵县| 徐汇区| 龙里县| 阿拉尔市| 仪陇县| 文安县| 凭祥市| 公主岭市| 资中县| 成安县| 大庆市| 丰城市| 三穗县| 夏河县| 铁岭县| 进贤县| 中宁县| 莱西市| 岳阳市| 会同县| 明水县| 宜宾县| 来安县| 陆丰市| 蚌埠市| 望江县| 集贤县| 清镇市| 长寿区| 无极县| 哈尔滨市| 浠水县| 泰州市|