• PhotoKit type类型


    参考链接: https://www.jianshu.com/p/42e5d2f75452/

    1、获取图像类型

    enum PHAssetCollectionType : Int {

      case Album //从 iTunes 同步来的相册,以及用户在 Photos 中自己建立的相册

      case SmartAlbum //经由相机得来的相册

      case Moment //Photos 为我们自动生成的时间分组的相册

    }

    enum PHAssetCollectionSubtype : Int {

      case AlbumRegular //用户在 Photos 中创建的相册,也就是我所谓的逻辑相册

      case AlbumSyncedEvent //使用 iTunes 从 Photos 照片库或者 iPhoto 照片库同步过来的事件。然而,在iTunes 12 以及iOS 9.0 beta4上,选用该类型没法获取同步的事件相册,而必须使用AlbumSyncedAlbum。

      case AlbumSyncedFaces //使用 iTunes 从 Photos 照片库或者 iPhoto 照片库同步的人物相册。

      case AlbumSyncedAlbum //做了 AlbumSyncedEvent 应该做的事

      case AlbumImported //从相机或是外部存储导入的相册,完全没有这方面的使用经验,没法验证。

      case AlbumMyPhotoStream //用户的 iCloud 照片流

      case AlbumCloudShared //用户使用 iCloud 共享的相册

      case SmartAlbumGeneric //文档解释为非特殊类型的相册,主要包括从 iPhoto 同步过来的相册。由于本人的 iPhoto 已被 Photos 替代,无法验证。不过,在我的 iPad mini 上是无法获取的,而下面类型的相册,尽管没有包含照片或视频,但能够获取到。

      case SmartAlbumPanoramas //相机拍摄的全景照片

      case SmartAlbumVideos //相机拍摄的视频

      case SmartAlbumFavorites //收藏文件夹

      case SmartAlbumTimelapses //延时视频文件夹,同时也会出现在视频文件夹中

      case SmartAlbumAllHidden //包含隐藏照片或视频的文件夹

      case SmartAlbumRecentlyAdded //相机近期拍摄的照片或视频

      case SmartAlbumBursts //连拍模式拍摄的照片,在 iPad mini 上按住快门不放就可以了,但是照片依然没有存放在这个文件夹下,而是在相机相册里。

      case SmartAlbumSlomoVideos //Slomo 是 slow motion 的缩写,高速摄影慢动作解析,在该模式下,iOS 设备以120帧拍摄。不过我的 iPad mini 不支持,没法验证。

      case SmartAlbumUserLibrary //这个命名最神奇了,就是相机相册,所有相机拍摄的照片或视频都会出现在该相册中,而且使用其他应用保存的照片也会出现在这里。

      case Any //包含所有类型

    }

    2、获取各种相册

    (1)列出所有相册智能相册

      PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum     subtype:PHAssetCollectionSubtypeAlbumRegular options:nil];

    (2) 列出所有用户创建的相册

      PHFetchResult *topLevelUserCollections = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];

    (3)获取所有资源的集合,并按资源的创建时间排序

      PHFetchOptions *options = [[PHFetchOptions alloc] init];

      options.sortDescriptors = @[[NSSortDescriptorsortDescriptorWithKey:@"creationDate"ascending:YES]];

      PHFetchResult *assetsFetchResults = [PHAsset fetchAssetsWithOptions:options];



    作者:CherishHe
    链接:https://www.jianshu.com/p/4e426774484e
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    3、获取图像参数控制

    synchronous:指定请求是否同步执行。 resizeMode:对请求的图像怎样缩放。有三种选择:None,不缩放;Fast,尽快地提供接近或稍微大于要求的尺寸;Exact,精准提供要求的尺寸。 deliveryMode:图像质量。有三种值:Opportunistic,在速度与质量中均衡;HighQualityFormat,不管花费多长时间,提供高质量图像;FastFormat,以最快速度提供好的质量。这个属性只有在 synchronous 为 true 时有效。 normalizedCropRect:用于对原始尺寸的图像进行裁剪,基于比例坐标。只在 resizeMode 为 Exact 时有效。

    resizeMode 默认是 None,这也造成了返回图像尺寸与要求尺寸不符。

    这点需要注意。要返回一个指定尺寸的图像需要避免两层陷阱:一定要指定 options 参数,resizeMode 不能为 None。







  • 相关阅读:
    MySQL: MySQL数据学习专题
    安装Team Foundation Server 2012过程截图
    如果你喜欢一个程序员小伙
    ASP.net MVC: 一个开源的“留言系统”
    ASP.net MVC 中Security.FormsAuthentication验证用户的状态(匿名|已登录)
    Microsoft Visual Stadio 2012 Ultimate版安整过程安装体验
    win8全面开放民间下载地址!win8下载地址 win8下载链接
    【技术贴】解决右键没有新建文本文档|右键没有新建txt
    【技术贴】虚拟机网络上有重名的解决|虚拟机Net模式提示有重名
    【技术贴】利用myeclipse自动生成java类图|java源代码自动生成类图
  • 原文地址:https://www.cnblogs.com/yang-shuai/p/8297420.html
Copyright © 2020-2023  润新知