开发笔记 那些年追过的图片(六):压缩图片并保存到沙盒里
2013-09-12 17:11
507 查看
站在巨人的肩膀我们会看见山后面的海
#pragma mark-
#pragma mark 照片
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
_imageSTring = [Photoimage2String:image];
imageChange = YES;
[_login.portraitBtnsetBackgroundImage:imageforState:UIControlStateNormal];
UIImage *headImage = [self imageWithImageSimple:imagescaledToSize:CGSizeMake(160,160)];
[self saveImageToDocument:headImageimageName:@"image.png"];
//关闭相册界面
[picker dismissModalViewControllerAnimated:YES];
}
//图片保存到沙盒里
-(void)saveImageToDocument:(UIImage *)image imageName:(NSString *)imagename
{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *filePath = [[pathsobjectAtIndex:0]stringByAppendingPathComponent:[NSStringstringWithFormat:imagename,nil]];
// 保存文件的名称
[UIImagePNGRepresentation(image)writeToFile: filePath atomically:YES];
}
//压缩图片
- (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize
{
// Create a graphics image context
UIGraphicsBeginImageContext(newSize);
// Tell the old image to draw in this new context, with the desired
// new size
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
// Get the new image from the context
UIImage* newImage =UIGraphicsGetImageFromCurrentImageContext();
// End the context
UIGraphicsEndImageContext();
// Return the new image.
return newImage;
}
#pragma mark-
#pragma mark 照片
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
_imageSTring = [Photoimage2String:image];
imageChange = YES;
[_login.portraitBtnsetBackgroundImage:imageforState:UIControlStateNormal];
UIImage *headImage = [self imageWithImageSimple:imagescaledToSize:CGSizeMake(160,160)];
[self saveImageToDocument:headImageimageName:@"image.png"];
//关闭相册界面
[picker dismissModalViewControllerAnimated:YES];
}
//图片保存到沙盒里
-(void)saveImageToDocument:(UIImage *)image imageName:(NSString *)imagename
{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *filePath = [[pathsobjectAtIndex:0]stringByAppendingPathComponent:[NSStringstringWithFormat:imagename,nil]];
// 保存文件的名称
[UIImagePNGRepresentation(image)writeToFile: filePath atomically:YES];
}
//压缩图片
- (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize
{
// Create a graphics image context
UIGraphicsBeginImageContext(newSize);
// Tell the old image to draw in this new context, with the desired
// new size
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
// Get the new image from the context
UIImage* newImage =UIGraphicsGetImageFromCurrentImageContext();
// End the context
UIGraphicsEndImageContext();
// Return the new image.
return newImage;
}
相关文章推荐
- 开发笔记 那些年追过的图片(十) 图片处理成圆形
- 开发笔记 那些年追过的图片(十一)给图片加文字,加水印等
- 开发笔记 那些年追过的图片(九)图片转PDF的实现方法
- 开发笔记 那些年追过的图片(四):改变相册里的英文变成中文
- 开发笔记 那些年追过的图片(四):读取图片的信息
- 开发笔记 那些年追过的图片(七):屏幕截图
- 开发笔记 那些年追过的图片(三):自定义修改拍照界面retake和use按钮
- 开发笔记 那些年追过的图片(三):自定义修改拍照界面retake和use按钮
- 开发笔记 那些年追过的图片(二): 读取相册里的图片 和 拍摄获取照片
- 开发笔记 那些年追过的图片(五):imageView GIF 动画
- 开发笔记 那些年追过的图片(五):imageView GIF 动画
- 开发笔记 那些年追过的图片(七):屏幕截图
- 开发笔记 那些年追过的图片(二): 读取相册里的图片 和 拍摄获取照片
- 开发笔记 那些年追过的图片(八):PNG,JPEG格式相互转换
- 开发笔记 那些年追过的图片(一): image的读取
- 开发笔记 那些年追过的图片(四):读取图片的信息
- 【微信开发笔记】常见的长按保存图片功能的实现方式及清晰度优化方式
- Android开发技术:Android对图片的压缩读取和保存
- iOS开发笔记之保存图片到相册
- iPhone开发笔记(12)利用.net实现服务端接收上传的图片并保存