使用 SDWebImage 并将图像保存到 public 个图库
Using SDWebImage and saving image to public gallery
我正在为我的 iOS 项目使用 SDWebImage。基于URL提取图片时,SDWebImage有很好的特点,可以将图片缓存在内存中,也可以缓存在磁盘中。但是,我们是否也可以让图片(由 SDWebImage 缓存)在图片库中可用?这允许用户查看他们使用照片库下载的图片,也允许其他应用程序使用这些图片。
你可以在 SDWebImage 将它加载到你的 UIImageView 之后获取图像,如下所示:
[self.imageView sd_setImageWithURL:url
placeholderImage:placeholder
options:options
progress:nil
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
if (image) {
// save to photo album here
}
}
];
我使用这个库将照片保存到自定义相册:
https://github.com/Kjuly/ALAssetsLibrary-CustomPhotoAlbum
下面是使用这个库的示例代码:
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
[assetsLibrary saveImage:image toAlbum:@"YOUR_ALBUM_NAME" completion:nil failure:nil];
更新:您也可以使用 ALAssetsLibrary 从相册加载图像。这是一个例子:
ALAssetsLibrary* assetsLibrary = [[ALAssetsLibrary alloc] init];
[assetsLibrary loadImagesFromAlbum:^(NSMutableArray *images, NSError *error) {
if (images) {
// ...
}
}];
我正在为我的 iOS 项目使用 SDWebImage。基于URL提取图片时,SDWebImage有很好的特点,可以将图片缓存在内存中,也可以缓存在磁盘中。但是,我们是否也可以让图片(由 SDWebImage 缓存)在图片库中可用?这允许用户查看他们使用照片库下载的图片,也允许其他应用程序使用这些图片。
你可以在 SDWebImage 将它加载到你的 UIImageView 之后获取图像,如下所示:
[self.imageView sd_setImageWithURL:url
placeholderImage:placeholder
options:options
progress:nil
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
if (image) {
// save to photo album here
}
}
];
我使用这个库将照片保存到自定义相册:
https://github.com/Kjuly/ALAssetsLibrary-CustomPhotoAlbum
下面是使用这个库的示例代码:
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
[assetsLibrary saveImage:image toAlbum:@"YOUR_ALBUM_NAME" completion:nil failure:nil];
更新:您也可以使用 ALAssetsLibrary 从相册加载图像。这是一个例子:
ALAssetsLibrary* assetsLibrary = [[ALAssetsLibrary alloc] init];
[assetsLibrary loadImagesFromAlbum:^(NSMutableArray *images, NSError *error) {
if (images) {
// ...
}
}];