zoukankan      html  css  js  c++  java
  • [ios]获取系统相簿里边的所有照片【转】

    #import<AssetsLibrary/AssetsLibrary.h>



    -(void)getImgs{

        

       dispatch_async(dispatch_get_main_queue(), ^{

           NSAutoreleasePool *pool = [[NSAutoreleasePoolalloc] init];

            

            

           ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror){

                NSLog(@"相册访问失败 =%@", [myerrorlocalizedDescription]);

                if ([myerror.localizedDescription rangeOfString:@"Global denied access"].location!=NSNotFound) {

                      NSLog(@"无法访问相册.请在'设置->定位服务'设置为打开状态.");

                }else{

                    NSLog(@"相册访问失败.");

                }

            };

            

            ALAssetsGroupEnumerationResultsBlock groupEnumerAtion = ^(ALAsset *result,NSUInteger index, BOOL *stop){

                if (result!=NULL) {

            

                    if ([[result valueForProperty:ALAssetPropertyType]isEqualToString:ALAssetTypePhoto]) {

                        

                        NSString *urlstr=[NSString stringWithFormat:@"%@",result.defaultRepresentation.url];//图片的url

    /*result.defaultRepresentation.fullScreenImage//图片的大图

    result.thumbnail                            //图片的缩略图小图

    //                    NSRange range1=[urlstr rangeOfString:@"id="];

    //                    NSString *resultName=[urlstr substringFromIndex:range1.location+3];

    //                    resultName=[resultName stringByReplacingOccurrencesOfString:@"&ext=" withString:@"."];//格式demo:123456.png

    */

                        

                      [self._dataArray addObject:urlstr];

                    }

                }

               

            };

           ALAssetsLibraryGroupsEnumerationResultsBlock

            libraryGroupsEnumeration = ^(ALAssetsGroup* group,BOOL* stop){

                

                if (group == nil

                {

                    

                }

                

                if (group!=nil) {

                    NSString *g=[NSString stringWithFormat:@"%@",group];//获取相簿的组

                   NSLog(@"gg:%@",g);//gg:ALAssetsGroup - Name:Camera Roll, Type:Saved Photos, Assets count:71


                    NSString *g1=[g substringFromIndex:16 ] ;

                    NSArray *arr=[NSArray arrayWithArray:[g1componentsSeparatedByString:@","]];

                    NSString *g2=[[arr objectAtIndex:0]substringFromIndex:5];

                    if ([g2 isEqualToString:@"Camera Roll"]) {

                        g2=@"相机胶卷";

                    }

                    NSString *groupName=g2;//组的name

                    

                    [groupenumerateAssetsUsingBlock:groupEnumerAtion];

                }

                

            };

            

           ALAssetsLibrary* library = [[ALAssetsLibraryalloc] init];

            [libraryenumerateGroupsWithTypes:ALAssetsGroupAll

                                  usingBlock:libraryGroupsEnumeration 

                                failureBlock:failureblock];

            [library release];      

     

            [pool release];

        });  

        

    }


    //------------------------根据图片的url反取图片-----


     ALAssetsLibrary *assetLibrary=[[ALAssetsLibraryalloc] init]; 

    NSURL *url=[NSURLURLWithString:urlStr];

    [assetLibrary assetForURL:url resultBlock:^(ALAsset *asset)  {

                    UIImage *image=[UIImage imageWithCGImage:asset.thumbnail];

                    cellImageView.image=image;

               

                    }failureBlock:^(NSError *error) {

                        NSLog(@"error=%@",error);

                }

                 ];

    //---------------------

  • 相关阅读:
    聊聊豆瓣阅读kindle版..顺便悼念一下library.nu…
    PhoneGap+jQm webapp本地化(1)环境搭建以及资源介绍
    尝试分析Q群作为技术群是个不恰当的选择!
    某android平板项目开发笔记计划任务备份
    android 自动化测试的傻瓜实践之旅(UI篇) 小试身手
    latex/Xelatex书籍排版总结顺便附上一本排好的6寸android书…
    某android平板项目开发笔记自定义sharepreference UI
    android ORM框架的性能简单测试(androrm vs ormlite)
    网络管理员必学手册
    PPT插入FLV视频文件的简单方法
  • 原文地址:https://www.cnblogs.com/jinjiantong/p/3013713.html
Copyright © 2011-2022 走看看