博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[原]iOS7.1获取图库所有照片的方法封装
阅读量:7111 次
发布时间:2019-06-28

本文共 3153 字,大约阅读时间需要 10 分钟。

图片转换取出需要转换方向!!

 

- (int)imageOrientation {     return [[self valueForProperty:ALAssetPropertyOrientation] intValue];}  //高清图- (UIImage *)fastGetFullResolutionImage {    CGImageRef ref = [[self  defaultRepresentation] fullResolutionImage];    return [UIImage imageWithCGImage:ref scale:1 orientation:[self imageOrientation]];}

 

 

简单类快捷入口:链接: http://pan.baidu.com/s/1bnxvsiN 密码: 73ud

 

//出处:http://www.cnblogs.com/madordie/////  声明:写此类时候只为了获取图库中的图片。由于真机不在手边,只在模拟器上测试(iOS7.1)//       如需要获得其他视频之类的可以自行更改fillAssetGroups函数//////  本地照片管理//  (单例模式)//  用法://JGPhotoAlbumManager *manager = [JGPhotoAlbumManager shared];//[manager setSaveAllPhotos:^(NSArray *images) {//    if (!_tableData) {//        _tableData = [[NSMutableArray alloc] init];//    }//    [_tableData removeAllObjects];//    [_tableData addObjectsFromArray:images];//    [_tableView reloadData];//}];////  cell 填充://ALAsset *asset = _tableData[indexPath.row];//[cell.imageView setImage:[asset fastGetThumbnailImage]];//注://fastGetThumbnailImage为自定义类别,见#import "ALAsset+JGFastGetPhoto.h"//

关键代码:

//如果需要获取别的更改下面的addObject位置#pragma mark - 填充 _assetGroups- (void)fillAssetGroups {    ALAssetsLibrary *assetsLibrary = [JGPhotoAlbumManager sharedAssetsLibrary];//生成整个photolibrary句柄的实例    [assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
//获取所有group if (group) { [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
//从group里面 NSString* assetType = [result valueForProperty:ALAssetPropertyType]; if ([assetType isEqualToString:ALAssetTypePhoto]) { NSLog(@"Photo"); [_assetGroups addObject:result]; }else if([assetType isEqualToString:ALAssetTypeVideo]){ NSLog(@"Video"); }else if([assetType isEqualToString:ALAssetTypeUnknown]){ NSLog(@"Unknow AssetType"); } NSDictionary *assetUrls = [result valueForProperty:ALAssetPropertyURLs]; NSUInteger assetCounter = 0; for (NSString *assetURLKey in assetUrls) { NSLog(@"Asset URL %lu = %@",(unsigned long)assetCounter,[assetUrls objectForKey:assetURLKey]); } NSLog(@"Representation Size = %lld",[[result defaultRepresentation]size]); }]; } else { //stop dispatch_async(dispatch_get_main_queue(), ^(void) { _saveAllPhotos(_assetGroups); }); } } failureBlock:^(NSError *error) { NSLog(@"Enumerate the asset groups failed."); }];}
获取所有
@interface ALAsset (JGFastGetPhoto)//图片URL- (NSString *)fastGetURLString;- (NSURL *)fastGetURL;//缩略图- (UIImage *)fastGetThumbnailImage;//全屏图- (UIImage *)fastGetFullScreenImage;//高清图- (UIImage *)fastGetFullResolutionImage;//获取时间- (NSString *)fastGetDataString;//缩略图- (UIImage *)fastGetThumbnailImage {    CGImageRef  ref = [self thumbnail];    return [UIImage imageWithCGImage:ref];}
转换

 

转载于:https://www.cnblogs.com/madordie/p/4032200.html

你可能感兴趣的文章
Php对python模块的调用
查看>>
composer 安装
查看>>
org.apache.spark.streaming.dstream.MappedDStream@5a69b104 has not been initialized
查看>>
linux shell 中判断字符串为空的正确方法
查看>>
致敬Linux系统
查看>>
DevSecOps 运维模式中的安全性
查看>>
Android 动画效果(一)
查看>>
node pm2 错误 配置
查看>>
UML---数据建模(Data Model Diagram)
查看>>
keystone 命令简要说明
查看>>
关于页面中锚跳转问题
查看>>
uboot/tools/mkimage工具详解
查看>>
编辑器中灯光菜单及其子菜单的使用介绍
查看>>
CocosStudio细节
查看>>
mysql General error: 1267 Illegal mix of collations错误
查看>>
maven, ant,ivy配置
查看>>
android sdk 下载地址 备忘
查看>>
LESS CSS 的简单使用
查看>>
37条常用Linux Shell命令组合
查看>>
中断线程
查看>>