From 4c662f3a5fa3c3a151f33a4330f23db798184873 Mon Sep 17 00:00:00 2001 From: Bell Date: Mon, 12 Feb 2018 11:29:34 +0800 Subject: [PATCH] feat: support iOS HEIF image ref: https://www.jianshu.com/p/a63c7d5d98a9 --- ios/ImageCropPicker.m | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ios/ImageCropPicker.m b/ios/ImageCropPicker.m index 469f5f6d3..c7b12134b 100644 --- a/ios/ImageCropPicker.m +++ b/ios/ImageCropPicker.m @@ -449,13 +449,20 @@ - (void)qb_imagePickerController: requestImageDataForAsset:phAsset options:options resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) { - dispatch_async(dispatch_get_main_queue(), ^{ [lock lock]; ImageResult *imageResult; NSString *filePath; if (imageData) { - imageResult = [self.compression compressImage:[UIImage imageWithData:imageData] withOptions:self.options]; + UIImage *image; + if ([dataUTI isEqualToString:@"public.heif"] || [dataUTI isEqualToString:@"public.heic"]) { + CIImage *ciImage = [CIImage imageWithData:imageData]; + CIContext *context = [CIContext context]; + image = [UIImage imageWithData:[context JPEGRepresentationOfImage:ciImage colorSpace:ciImage.colorSpace options:@{}]]; + } else { + image = [UIImage imageWithData:imageData]; + } + imageResult = [self.compression compressImage:image withOptions:self.options]; filePath = [self persistFile:imageResult.data]; } @@ -697,3 +704,4 @@ - (void)imageCropViewController:(RSKImageCropViewController *)controller } @end +