iOS 图片 保存到沙盒路径/相册、图片缩小、图片截取

来源:互联网 发布:如何网络销售水果 编辑:程序博客网 时间:2024/06/06 08:52

//截取图片(截取图片的位置是根据原图的大小,而不是UIImageView的大小)

-(UIImage *)cutOutImageWithImage:(UIImage*)image  WithRect:(CGRect)rect{

    CGImageRef imageRef = image.CGImage;

    imageRef = CGImageCreateWithImageInRect(imageRef, rect);

    UIImage *newImage = [UIImageimageWithCGImage: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:), (__bridgevoid *)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 = [NSStringstringWithFormat:@"%@/Documents/%@",path_sandox,imageName];

    //把图片直接保存到指定的路径(同时应该把图片的路径imagePath存起来,下次就可以直接用来取)

    [UIImagePNGRepresentation(imagesave)writeToFile:imagePath atomically:YES];

}


// 读取并存贮到相册

-(UIImage *)getDocumentImageWithImageName:(NSString *)imageName{

    // 读取沙盒路径图片

    NSString *path=[NSStringstringWithFormat:@"%@/Documents/%@",NSHomeDirectory(),imageName];

    // 拿到沙盒路径图片

    UIImage *imgFromUrl3=[[UIImagealloc]initWithContentsOfFile:path];

    return imgFromUrl3;

}

1 0
原创粉丝点击