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的基本使用-创新互联
URL地址:http://scyanting.com/article/ddgehd.html