亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS把圖片緩存到本地的幾種方法(總結)

2019-10-21 18:42:42
字體:
來源:轉載
供稿:網友

把圖片緩存到本地,在很多場景都會用到,如果只是存儲文件信息,那建一個plist文件,或者數據庫就能很方便的解決問題,但是如果存儲圖片到沙盒就沒那么方便了。這里簡單介紹兩種保存圖片到沙盒的方法。

一、把圖片轉為base64的字符串存到數據庫中或者plist文件中,然后用到的時候再取出來

 //獲取沙盒路徑, NSString *path_sandox = NSHomeDirectory(); //創建一個存儲plist文件的路徑 NSString *newPath = [path_sandox stringByAppendingPathComponent:@/Documents/pic.plist]; NSMutableArray *arr = [[NSMutableArray alloc] init]; UIImage *image = [UIImage imageNamed:@"1.png"];   /*  把圖片轉換為Base64的字符串   在iphone上有兩種讀取圖片數據的簡單方法: UIImageJPEGRepresentation和UIImagePNGRepresentation.     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,  并可根據自己的實際使用場景,設置壓縮系數,進一步降低圖片數據量大小.  */ NSData *_data = UIImageJPEGRepresentation(image, 1.0f); //將圖片的data轉化為字符串 NSString *strimage64 = [_data base64EncodedString];  [arr addObject:image64];   //寫入plist文件  if ([arr writeToFile:newPath atomically:YES]) {   NSLog(@"寫入成功");  };  //可以到沙河路徑下查看plist文件中的圖片數據  //這樣就存起來的,然后用到的時候再利用存儲的字符串轉化為圖片 //NSData *_decodedImageData = [[NSData alloc] initWithBase64Encoding:image64]; 這是iOS7之前的一個方法   NSData *_decodedImageData = [[NSData alloc]initWithBase64EncodedString:strimage64 options:NSDataBase64DecodingIgnoreUnknownCharacters]; UIImage *_decodedImage = [UIImage imageWithData:_decodedImageData];  //可以打印下圖片是否存在 NSLog(@"===Decoded image size: %@", NSStringFromCGSize(_decodedImage.size));

二、把圖片直接保存到沙盒中,然后再把路徑存儲起來,等到用圖片的時候先獲取圖片的路徑,再通過路徑拿到圖片

 //拿到圖片 UIImage *image2 = [UIImage imageNamed:@"1.png"];  NSString *path_document = NSHomeDirectory(); //設置一個圖片的存儲路徑 NSString *imagePath = [path_document stringByAppendingString:@"/Documents/pic.png"]; //把圖片直接保存到指定的路徑(同時應該把圖片的路徑imagePath存起來,下次就可以直接用來取) [UIImagePNGRepresentation(image2) writeToFile:imagePath atomically:YES];

下次利用圖片的地址直接來拿圖片。

UIImage *getimage2 = [UIImage imageWithContentsOfFile:imagePath]; NSLog(@"image2 is size %@",NSStringFromCGSize(getimage2.size)); 

同時附上獲取沙盒目錄的代碼

沙盒文件目錄獲取代碼:

//Home目錄

NSString *homeDirectory = NSHomeDirectory(); 

//Document目錄

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0]; 

//Cache目錄

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0]; 

//Libaray目錄

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0];

以上這篇iOS把圖片緩存到本地的幾種方法(總結)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲最新在线视频| 亚洲性视频网站| 国产亚洲精品美女久久久久| 久久韩剧网电视剧| 成人h视频在线观看播放| 欧美日韩国产成人高清视频| 成人激情视频网| 欧美一区二区三区艳史| 高跟丝袜一区二区三区| 亚洲天堂免费观看| 亚洲片在线观看| 7777免费精品视频| 国产亚洲精品久久久优势| 欧美性猛交视频| 亚洲成人三级在线| 成人a免费视频| 欧美精品18videosex性欧美| 中文字幕精品在线视频| 欧美高跟鞋交xxxxxhd| 日韩美女免费视频| 久久久久五月天| 国产精品久久久久久久久久新婚| 日韩精品中文字幕视频在线| 91精品免费久久久久久久久| 久久久久久久激情视频| 欧美性猛交xxxx富婆弯腰| 中文字幕亚洲一区二区三区| 亚洲一区二区自拍| 久久久精品国产| 日韩中文字在线| 热re99久久精品国产66热| 国产精品一区二区三区免费视频| 国产欧美日韩91| 国产日韩欧美中文| 亚洲片在线观看| 精品一区精品二区| 久久久黄色av| 久久久久这里只有精品| 国产精品日本精品| 在线激情影院一区| 久久免费视频在线| 97精品一区二区视频在线观看| 色偷偷噜噜噜亚洲男人的天堂| 91国产一区在线| 亚洲欧美日韩天堂一区二区| 一本色道久久综合亚洲精品小说| 成人福利网站在线观看11| 国产一区二区日韩精品欧美精品| 成人字幕网zmw| 日韩欧美亚洲一二三区| 91中文在线观看| 久久99青青精品免费观看| 亚洲午夜未满十八勿入免费观看全集| 欧美成人一区在线| 亚洲精品一区中文| 亚洲国产第一页| 欧美成人剧情片在线观看| 久久久久久国产精品三级玉女聊斋| 久久久欧美一区二区| 欧美日韩中文字幕在线视频| 成人444kkkk在线观看| 欧美高清视频在线观看| 欧美成人精品不卡视频在线观看| 国产日韩欧美在线视频观看| 国内精品中文字幕| 国产精品7m视频| 国产精品视频在线播放| 国内外成人免费激情在线视频| 中文亚洲视频在线| 奇门遁甲1982国语版免费观看高清| 欧美激情精品久久久久久| 久久精品久久久久久国产 免费| 久久电影一区二区| 日本中文字幕久久看| 成人午夜在线观看| 亚洲国产中文字幕久久网| 国产精品一区二区三区久久久| 国产日韩欧美在线| 韩国精品久久久999| 欧美精品一二区| 国产成人精彩在线视频九色| 亚洲国产精品推荐| 欧美日韩人人澡狠狠躁视频| 亚洲一区久久久| 91精品在线观| 丝袜美腿亚洲一区二区| 亚洲国产精品久久久久久| 亚洲欧洲一区二区三区在线观看| 国产成人在线一区| 日韩欧美在线视频观看| 亚洲美女中文字幕| 亚洲欧美日本另类| 久久久久久久久综合| 亚洲精品国精品久久99热一| 亚洲经典中文字幕| 国产精品黄视频| 国产精品久久久久一区二区| 国产精品成久久久久三级| 久久久久久噜噜噜久久久精品| 尤物99国产成人精品视频| 91超碰中文字幕久久精品| 欧美黄网免费在线观看| 成人免费淫片视频软件| 九九热r在线视频精品| 亚洲bt欧美bt日本bt| 国产成人综合精品在线| 欧美在线观看www| 国产精品中文久久久久久久| 欧美贵妇videos办公室| 国产精品人成电影| 91久久精品美女高潮| 91麻豆国产精品| 国产精品成人免费视频| 中文字幕av一区二区| 国产精品福利久久久| 亚洲一区二区三区sesese| 国产精品美女www爽爽爽视频| 国产精品91在线| 色婷婷久久一区二区| 另类少妇人与禽zozz0性伦| 亚洲精品有码在线| 亚洲精品成人久久| 奇米一区二区三区四区久久| 国产精品91视频| 国产专区精品视频| 国产精品天天狠天天看| xxx欧美精品| 亚洲国产97在线精品一区| 国产精品激情自拍| 欧美在线视频一二三| www.亚洲免费视频| 国产精品高精视频免费| 国产乱肥老妇国产一区二| 欧美日韩国产精品一区二区不卡中文| 中文字幕欧美视频在线| 成人天堂噜噜噜| 欧美一级淫片aaaaaaa视频| 韩剧1988在线观看免费完整版| 国产一区二区三区高清在线观看| 欧美二区在线播放| 最近中文字幕2019免费| 激情av一区二区| 久青草国产97香蕉在线视频| 亚洲精品www久久久久久广东| 国产人妖伪娘一区91| 亚洲第一区第二区| 中文字幕精品一区二区精品| 亚洲天堂第一页| 欧美在线免费观看| 2019中文在线观看| 欧美夫妻性生活xx| 精品久久久久久中文字幕| 欧美亚洲激情在线| 日本aⅴ大伊香蕉精品视频| 青青久久aⅴ北条麻妃| 精品国产福利在线| 欧美成人精品在线观看| 91精品国产精品| 茄子视频成人在线| 丰满岳妇乱一区二区三区| 日韩电影大片中文字幕| 欧美福利视频在线| 亚洲一区二区三区香蕉| 亚洲在线视频观看|