IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
来源:互联网 发布:mac桌面文件怎么拖动 编辑:程序博客网 时间:2024/06/05 03:13
IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- (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:dataattributes: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等格式的图片
- require.js 入门学习 (share)
- 有趣的机器学习:最简明入门指南
- 广州一期各项练习心得
- FPGA研发之道(25)-管脚
- Tomcat的版本、Servlet/JSP版本、JavaEE版本、JavaSE版本 四者之间的对应关系。
- IOS开发之保存图片到Documents目录及PNG,JPEG格式相互转换
- c++多态性原理及应用 & c++以及cuda 计时技术小结
- 07-图6 旅游规划
- JS数组
- 习题10-1 UVA 11040(无聊水一水)
- 碎碎念-新的开始
- GET 与 POST比较
- fedora22配置双ip用于远程连接
- 蓝懿iOS 技术内容交流和学习心得 11.9