zoukankan      html  css  js  c++  java
  • ALAssetsLibrary使用

    在iOS中,我们调用摄像头和选择相册中的资源,我们可以使用:UIImagePickerController类来完成。
     
    当然,我们也可以不使用UI的形式来访问iOS设备的相册资源。
    那就是使用:ALAssetsLibrary
     
    一、ALAssetsLibrary是什么
     
    可以说,是一个桥梁把。连接了我们应用程序和相册之间的访问。
    ALAssetsLibrary提供了我们对iOS设备中的相片、视频的访问。
     
    ALAssetsLibrary被封装在 框架中。所以,我们在使用时,需要引入该框架。
     
    需添加AssetsLibrary.framework 
    然后引入 

    #import <AssetsLibrary/ALAsset.h>

    #import <AssetsLibrary/ALAssetsLibrary.h>

    #import <AssetsLibrary/ALAssetsGroup.h>

    #import <AssetsLibrary/ALAssetRepresentation.h>

    self.assetsLibrary = [[ALAssetsLibrary alloc] init];
        dispatch_queue_t dispatchQueue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
        dispatch_async(dispatchQueue, ^(void) {
            // 遍历所有相册
            [self.assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll
                                              usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
                                                  // 遍历每个相册中的项ALAsset
                                                  [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index,BOOL *stop) {
                                                       
                                                      __block BOOL foundThePhoto = NO;
                                                      if (foundThePhoto){
                                                          *stop = YES;
                                                      }
                                                      // ALAsset的类型
                                                      NSString *assetType = [result valueForProperty:ALAssetPropertyType];
                                                      if ([assetType isEqualToString:ALAssetTypePhoto]){
                                                          foundThePhoto = YES;
                                                          *stop = YES;
                                                          ALAssetRepresentation *assetRepresentation =[result defaultRepresentation];
                                                          CGFloat imageScale = [assetRepresentation scale];
                                                          UIImageOrientation imageOrientation = (UIImageOrientation)[assetRepresentation orientation];
                                                          dispatch_async(dispatch_get_main_queue(), ^(void) {
                                                              CGImageRef imageReference = [assetRepresentation fullResolutionImage];
                                                              // 对找到的图片进行操作
                                                              UIImage *image =[[UIImage alloc] initWithCGImage:imageReference scale:imageScale orientation:imageOrientation];
                                                              if (image != nil){
                                                                  //获取到第一张图片
                                                              } else {
                                                                  NSLog(@"Failed to create the image.");
                                                              } });
                                                      }
                                                  }];
                                              }
                                            failureBlock:^(NSError *error) {
                                                NSLog(@"Failed to enumerate the asset groups.");
                                            }];
             
        });
     
    相关文章:
    http://blog.csdn.net/kingsley_cxz/article/details/9165951
  • 相关阅读:
    POJ 2195 Going Home (费用流)
    POJ 1087 A Plug for UNIX (网络流,最大流)
    凸包的直径——旋转卡壳
    凸包--Graham扫描法
    POJ 3167 Layout(差分约束)
    POJ 2187 Beauty Contest(凸包,旋转卡壳)
    HDU 1392 Surround the Trees(凸包)
    HDU 3416 Marriage Match IV(最短路,网络流)
    【USACO4.2】草地排水Drainage Ditches(最大流)
    【模板】网络最大流
  • 原文地址:https://www.cnblogs.com/langtianya/p/3985306.html
Copyright © 2011-2022 走看看