iOS 图片 保存到沙盒路径/相册、图片缩小、图片截取
2017-03-03 11:00
253 查看
//截取图片(截取图片的位置是根据原图的大小,而不是UIImageView的大小)
-(UIImage *)cutOutImageWithImage:(UIImage*)image WithRect:(CGRect)rect{
CGImageRef imageRef = image.CGImage;
imageRef = CGImageCreateWithImageInRect(imageRef, rect);
UIImage *newImage = [UIImage
imageWithCGImage:imageRef];
return newImage;
}
//将原图片缩小
而不是将ImageView 缩小
-(UIImage *)compressImageWithImage:(UIImage *)image scaledToSize:(CGSize)size{
//创建图片上下文
UIGraphicsBeginImageContext(size);
//告诉旧图片按新的尺寸画在这个新的上下文上
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
//从新的上下文上获得新图片
UIImage *newImage =
UIGraphicsGetImageFromCurrentImageContext();
//结束上下文
UIGraphicsEndImageContext();
return newImage;
}
//将图片保存到相册
使用UIImageWriteToSavedPhotosAlbum函数将图片保存到相册
/*
第一个参数是要保存到相册的图片对象
第二个参数是保存完成后回调的目标对象
第三个参数就是保存完成后回调到目标对象的哪个方法中,方法的声明要如代码中所示的:
*/
- (void)saveImageToPhotoAlbum:(UIImage *)image
{
UIImageWriteToSavedPhotosAlbum(image,
self, @selector(image:didFinishSavingWithError:contextInfo:), (__bridge
void *)self);
}
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void
*)contextInfo
{
NSLog(@"image = %@, error = %@, contextInfo = %@", image, error, contextInfo);
}
//将图片保存到本地沙盒路径下
-(void)saveImageDocumentsWithImageName:(NSString *)imageName andImage:(UIImage *)image{
//拿到图片
UIImage *imagesave = image;
NSString *path_sandox =
NSHomeDirectory();
//设置一个图片的存储路径
NSString *imagePath = [NSString
stringWithFormat:@"%@/Documents/%@",path_sandox,imageName];
//把图片直接保存到指定的路径(同时应该把图片的路径imagePath存起来,下次就可以直接用来取)
[UIImagePNGRepresentation(imagesave)
writeToFile:imagePath atomically:YES];
}
// 读取并存贮到相册
-(UIImage *)getDocumentImageWithImageName:(NSString *)imageName{
// 读取沙盒路径图片
NSString *path=[NSString
stringWithFormat:@"%@/Documents/%@",NSHomeDirectory(),imageName];
// 拿到沙盒路径图片
UIImage *imgFromUrl3=[[UIImage
alloc]initWithContentsOfFile:path];
return imgFromUrl3;
}
-(UIImage *)cutOutImageWithImage:(UIImage*)image WithRect:(CGRect)rect{
CGImageRef imageRef = image.CGImage;
imageRef = CGImageCreateWithImageInRect(imageRef, rect);
UIImage *newImage = [UIImage
imageWithCGImage:imageRef];
return newImage;
}
//将原图片缩小
而不是将ImageView 缩小
-(UIImage *)compressImageWithImage:(UIImage *)image scaledToSize:(CGSize)size{
//创建图片上下文
UIGraphicsBeginImageContext(size);
//告诉旧图片按新的尺寸画在这个新的上下文上
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
//从新的上下文上获得新图片
UIImage *newImage =
UIGraphicsGetImageFromCurrentImageContext();
//结束上下文
UIGraphicsEndImageContext();
return newImage;
}
//将图片保存到相册
使用UIImageWriteToSavedPhotosAlbum函数将图片保存到相册
/*
第一个参数是要保存到相册的图片对象
第二个参数是保存完成后回调的目标对象
第三个参数就是保存完成后回调到目标对象的哪个方法中,方法的声明要如代码中所示的:
*/
- (void)saveImageToPhotoAlbum:(UIImage *)image
{
UIImageWriteToSavedPhotosAlbum(image,
self, @selector(image:didFinishSavingWithError:contextInfo:), (__bridge
void *)self);
}
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void
*)contextInfo
{
NSLog(@"image = %@, error = %@, contextInfo = %@", image, error, contextInfo);
}
//将图片保存到本地沙盒路径下
-(void)saveImageDocumentsWithImageName:(NSString *)imageName andImage:(UIImage *)image{
//拿到图片
UIImage *imagesave = image;
NSString *path_sandox =
NSHomeDirectory();
//设置一个图片的存储路径
NSString *imagePath = [NSString
stringWithFormat:@"%@/Documents/%@",path_sandox,imageName];
//把图片直接保存到指定的路径(同时应该把图片的路径imagePath存起来,下次就可以直接用来取)
[UIImagePNGRepresentation(imagesave)
writeToFile:imagePath atomically:YES];
}
// 读取并存贮到相册
-(UIImage *)getDocumentImageWithImageName:(NSString *)imageName{
// 读取沙盒路径图片
NSString *path=[NSString
stringWithFormat:@"%@/Documents/%@",NSHomeDirectory(),imageName];
// 拿到沙盒路径图片
UIImage *imgFromUrl3=[[UIImage
alloc]initWithContentsOfFile:path];
return imgFromUrl3;
}
相关文章推荐
- ios 代码截取当前view的图片并保存在ios相册
- ios 图片拖拽,捏,双击放大缩小,以及保存到相册
- iOS保存系统相册中的照片到应用沙盒中出现的问题--图片旋转90度,使用CGImageRelease造成应用崩溃
- iOS 保存图片到相册, 保存到指定的路径
- ios 图片拖拽,捏,双击放大缩小,以及保存到相册
- ios 图片拖拽,捏,双击放大缩小,以及保存到相册
- iOS 保存到相册(视频,图片)
- iOS保存图片信息到相册
- iOS-将图片保存到照片相册中
- ios uiwebview 长按图片,保存到本地相册
- IOS学习笔记63--截取当前图像保存至相册
- IOS 保存图片至相册
- IOS 如何保存图片到相册实例
- 将图片保存到ios相册
- ios uiwebview 长按图片,保存到本地相册
- ios uiwebview 长按图片,保存到本地相册
- iOS中截取当前屏幕,并保存图片的代码例子
- iOS保存图片信息到相册
- iOS 保存到相册和从相册里面去图片的demo
- 截取部分视图作为图片,保存图片到相册