#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
#pragma mark ---图片--------
//根据ImageNamed获取图片(会在缓存中存储一份,下次再获取同名图片的话直接从缓存中取出) 优点:快 只有第一次时慢 缺点:会浪费内存,如果只用一次的话这块内存就会浪费掉了
//UIImage *image = [UIImage imageNamed:@"1"];
//根据ContentOfFile获取图片:每一次都会从路径中读取,不会占用内存.如果该图片只使用一次的话 推荐使用ContentOfFile
//UIImage *image1 = [[UIImage alloc] initWithContentsOfFile:@"1"];
//123.png
//123@2X.png:两倍分辨率 5,5s,6,6s
//123@3X.png:三倍分辨率 6plus ,6s plus
**//第一步:创建一个图片对象**UIImage *image = [UIImage imageNamed:@"1"];
**#pragma mark ---将UIImage类型对象转化成NSData类型---**
//第一个参数:表示转哪个UIImage类型的对象
//第二个参数:压缩系数 越小压缩的越厉害
**//第二步:将图片对象装换成NSData对象**NSData *data = UIImageJPEGRepresentation(image, 1);
**//第三步:确定要存储文件夹的路径**NSString *documentPathStr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];//第四步:确定要存储的文件NSString *dataPath = [documentPathStr stringByAppendingPathComponent:@"data.png"];
**//第五步:写入**[data writeToFile:dataPath atomically:YES];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:imageView];
**#pragma mark ---将类型NSData对象转化成UIImage类型---**
NSData *newData = [NSData dataWithContentsOfFile:dataPath];
UIImage *newImage = [[UIImage alloc] initWithData:newData];
NSLog(@"%@",newImage);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end```
UI-senior(数据本地化-如何存储图片到本地)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- #import "ViewController.h" @interface ViewController () @...