簡體   English   中英

如何獲取PHAsset中的圖像類型(PNG或JPG)?

[英]How to get image Type In PHAsset(PNG or JPG)?

在iOS8及更高版本中,我通過以下代碼獲取圖像:

    PHFetchOptions *option = [[PHFetchOptions alloc] init];
    option.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
    PHFetchResult *result = [PHAsset fetchAssetsInAssetCollection:_collection options:option];

    [result enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        if (((PHAsset *)obj).mediaType == PHAssetMediaTypeImage) {

            PHCachingImageManager *imageManager = [[PHCachingImageManager alloc] init];
            PHAsset *asset = obj;
            PHImageRequestOptions * options = [[PHImageRequestOptions alloc] init];
            options.networkAccessAllowed = YES;
            options.synchronous = YES;


            [imageManager requestImageDataForAsset:asset options:options resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {
                /*******/
                /* Now I get image type in here with imageDate*/
                /* I just want JPG type Image*/
            }];
        }
    }];

但是在這段代碼中,我需要很多時間,所以如何使用PHAsset獲取圖像類型並且不使用requestImageData

據我所知,您無法通過PHAsset獲取圖像類型,但是可以通過CIImage的屬性properties(properties是屬性的名稱)來獲取

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM