IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
来源:互联网 发布:淘宝迅雷会员激活码 编辑:程序博客网 时间:2024/06/05 02:17
先看下面的代码:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary*)info {
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
if ([mediaType isEqualToString:@"public.image"]){
image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
NSData *data;
if (UIImagePNGRepresentation(image) == nil) {
data = UIImageJPEGRepresentation(image, 1);
} else {
data = UIImagePNGRepresentation(image);
}
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *filePath = [NSString stringWithString:[self getPath:@"image1"]]; //将图片存储到本地documents
[fileManager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil];
[fileManager createFileAtPath:[filePath stringByAppendingString:@"/image.png"] contents:data attributes:nil];
UIImage *editedImage = [[UIImage alloc] init];
editedImage = image;
CGRect rect = CGRectMake(0, 0, 64, 96);
UIGraphicsBeginImageContext(rect.size);
[editedImage drawInRect:rect];
editedImage = UIGraphicsGetImageFromCurrentImageContext();
UIButton *imageButton = [UIButton buttonWithType:UIButtonTypeCustom];
imageButton.frame = CGRectMake(10, 10, 64, 96);
[imageButton setImage:editedImage forState:UIControlStateNormal];
[self.view addSubview:imageButton];
[imageButton addTarget:self action:@selector(imageAction:)forControlEvents:UIControlEventTouchUpInside];
[ipc dismissModalViewControllerAnimated:YES];
} else {
NSLog(@"MEdia");
}
上面的代码是当从相册里面选取图片之后保存到本地程序沙盒,在上面我们得到的图片中不能够得到图片名字,以及不清楚图片格式,所以这个时候我们需要将其转换成NSdata二进制存储,
image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
NSData *data;
if (UIImagePNGRepresentation(image) == nil) {
data = UIImageJPEGRepresentation(image, 1);
} else {
data = UIImagePNGRepresentation(image);
}
UIImagePNGRepresentation转换PNG格式的图片为二进制,如果图片的格式为JPEG则返回nil; [fileManager createFileAtPath:[filePath stringByAppendingString:@"/image.png"] contents:data attributes:nil]; 将图片保存为PNG格式
[fileManager createFileAtPath:[filePath stringByAppendingString:@"/image.jpg"] contents:data attributes:nil]; 将图片保存为JPEG格式
我们也可以写成下面的格式存储图片
NSString *pngImage = [filePath stringByAppendingPathComponent:@"Documents/image.png"];
NSString *jpgImage = [filePath stringByAppendingPathComponent:@"Documents/image.jpg"];
[data writeToFile:pngImage atomically:YES];
[data writeToFile:jpgImage atomically:YES];
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS开发保存图片到Documents目录及PNG,JPEG格式相互转换
- IOS 保存Image图片到Documents目录及PNG,JPEG格式相互转换
- 开发笔记 那些年追过的图片(八):PNG,JPEG格式相互转换
- iOS拍照 相册选取 保存PNG图片到Documents下,并利用UICollectionView显示出来
- IOS截屏一个UIView,以png或者jpg格式保存到指定目录下
- android 网络加载图片并保存本地,压缩,jpeg png格式分析
- ios 关于PNG和JPEG格式压缩
- 将图片保存到Documents文件夹里
- 利用jpedal进行pdf转换成jpeg,jpg,png,tiff,tif等格式的图片
- CRC校验
- centos6.6克隆后的网络配置
- Fragment生命周期
- android 申请移动应用的签名生成方法
- 炒股的五个不良习惯可能毁了你
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- 由Synchronized的内存可见性说起
- web项目转android项目方法主要使用webview
- (转)iOS应用架构浅谈
- genymotion的2.5版本的安装问题
- eclipse 创建javaweb工程 发布并运行
- Java面试参考指南(一)
- QImage 图像格式小结
- pig eclipse插件