iOSALAssetsLibrary的基本使用-创新互联
需要导入这个库
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、虚拟主机、营销软件、网站建设、柳州网站维护、网站推广。#import
//ALAssetsLibrary这个类是系统的资源库,可以用它来访问图片,视频,资源等功能
//返回照片数据授权该应用程序状态
int author = [ALAssetsLibrary authorizationStatus];
//typedef NS_ENUM(NSInteger, ALAuthorizationStatus) {
//ALAuthorizationStatusNotDetermined 0
//用户尚未选择关于这个应用程序
//ALAuthorizationStatusRestricted 1
//这个应用程序未被授权访问图片数据。
//ALAuthorizationStatusDenied 2
//用户已经明确否认了这个应用程序访问图片数据。
// ALAuthorizationStatusAuthorized 3
// 授权此应用程序访问数据照片。
//禁用检索和共享照片流的通知
[ALAssetsLibrary disableSharedPhotoStreamsSupport];
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
//创建一个相册到相册资源中,并通过block返回创建成功的相册ALAssetsGroup
//addAssetsGroupAlbumWithName相册的名字
[assetsLibrary addAssetsGroupAlbumWithName:@"photo" resultBlock:^(ALAssetsGroup *group) {
//ALAssetsGroupPropertyName; //查看相册存储的名字
//ALAssetsGroupPropertyType; //查看相册存储的类型
//ALAssetsGroupPropertyPersistentID; //查看相册的存储的ID
//ALAssetsGroupPropertyURLNSURL; //查看相册的存储的地址
NSLog(@"%@",[group valueForProperty:ALAssetsGroupPropertyName]);
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
//获取相册资源中相片或视频的基本信息 assetForURL 图片或视频的地址
[assetsLibrary assetForURL:nil resultBlock:^(ALAsset *asset) {
NSLog(@"%@",asset);
//ALAssetPropertyType 类型
//ALAssetPropertyLocation 查看资源的地理位置信息
//ALAssetPropertyDuration 如果资源是视频,查看视频的时长
//ALAssetPropertyOrientation 资源的旋转方向
//ALAssetPropertyDate 时间
//ALAssetPropertyRepresentations 描述信息
//ALAssetPropertyURLs 路径
//ALAssetPropertyAssetURL 资源的地址
//ALAssetTypePhoto 照片
//ALAssetTypeVideo 视频
//ALAssetTypeUnknown 不知道类型
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
//通过url地址获取相册资源中的一个相册
[assetsLibrary groupForURL:nil resultBlock:^(ALAssetsGroup *group) {
NSLog(@"%@",group);
//ALAssetsGroupPropertyName 名字
//ALAssetsGroupPropertyType 类型
//ALAssetsGroupPropertyPersistentID 存储的id
//ALAssetsGroupPropertyURL 存储的地址
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
//保存图片到系统默认的相册中,使用CGImageRef的形式,并返回照片的url地址
[assetsLibrary writeImageToSavedPhotosAlbum:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
}];
//保存图片到系统默认的相册中,使用NSData的形式,并返回照片的url地址
[assetsLibrary writeImageDataToSavedPhotosAlbum:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
}];
//保存图片到系统默认的相册中,使用NSURL的形式,并返回照片的url地址
[assetsLibrary writeVideoAtPathToSavedPhotosAlbum:nil completionBlock:^(NSURL *assetURL, NSError *error) {
}];
//ALAssetOrientationUp default orientation
//ALAssetOrientationDown 180 deg rotation
//ALAssetOrientationLeft 90 deg CCW
//ALAssetOrientationRight 90 deg CW
//ALAssetOrientationUpMirrored as above but p_w_picpath mirrored along other axis. horizontal flip
//ALAssetOrientationDownMirrored horizontal flip
//ALAssetOrientationLeftMirrored vertical flip
//ALAssetOrientationRightMirrored vertical flip
//保存图片到系统默认的相册中,使用CGImageRef的形式和图片的方向,并返回照片的url地址
[assetsLibrary writeImageToSavedPhotosAlbum:nil orientation:ALAssetOrientationUp completionBlock:^(NSURL *assetURL, NSError *error) {
}];
//ALAssetsGroupLibrary 资源
//ALAssetsGroupAlbum 所有专辑从iTunes或同步到设备上。
//ALAssetsGroupEvent iTunes同步的事件
//ALAssetsGroupFaces iTunes同步的专辑
//ALAssetsGroupSavedPhotos 保存的照片专辑。
//ALAssetsGroupPhotoStream 所有的图片的组
//ALAssetsGroupAll 所有的图片
//获取相册图片
[assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
if(group){
[group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
if(result){
//获取资源图片的详细资源信息
ALAssetRepresentation *representation =[result defaultRepresentation];
[_libaryPotoArry addObject:[UIImage p_w_picpathWithCGImage:representation.fullResolutionImage]];
//图片的长宽
CGSize dimension = [representation dimensions];
//图片的高清图
[representation fullResolutionImage];
//图片的全屏图
[representation fullScreenImage];
//图片的名字
NSString* filename = [representation filename];
//缩放倍数
[representation scale];
//容量大小
[representation size];
//原数据
[representation metadata];
//旋转方向
[representation orientation];
//资源图片url地址,该地址和ALAsset通过ALAssetPropertyAssetURL获取的url地址是一样的
NSURL* url = [representation url];
//资源图片uti,唯一标示符
NSLog(@"uti:%@",[representation UTI]);
}
}];
}
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:iOSALAssetsLibrary的基本使用-创新互联
文章位置:http://hbruida.cn/article/ddgehd.html