В
UIImageJPEGRepresentation
на UIImage может дать nil 🤔Size: a a a
В
AK
UIImageJPEGRepresentation
на UIImage может дать nil 🤔DK
NK
UIImageJPEGRepresentation
на UIImage может дать nil 🤔IG
- (UIImage *)scaledImageFromFileAtURL:(NSURL *)url compressionFlow:(HMThumbnailCompressionFlow)compressionFlow {
if (compressionFlow ==
HMThumbnailCompressionFlowEmpty) {
return [UIImage new];
}
UIImage *result;
@autoreleasepool {
CGSize screenSize = [UIScreen mainScreen].bounds.size;
CGFloat scale = 2;
CGFloat pixelSize = 0;
if (compressionFlow ==
HMThumbnailCompressionFlowSoft) {
pixelSize = MAX(screenSize.width, screenSize.height);
}
else {
pixelSize = MIN(screenSize.width, screenSize.height);
}
pixelSize *= scale;
NSDictionary *options = @{(NSString *)kCGImageSourceCreateThumbnailFromImageIfAbsent:@(YES),
(NSString *)kCGImageSourceCreateThumbnailWithTransform:@(YES),
(NSString *)kCGImageSourceShouldCacheImmediately:@(YES),
(NSString *)kCGImageSourceThumbnailMaxPixelSize:@(pixelSize),
(NSString *)kCGImageSourceCreateThumbnailFromImageAlways:@(YES),
(NSString *)kCGImageSourceShouldCache:@(NO)};
CGImageSourceRef imageSource = CGImageSourceCreateWithURL((__bridge CFURLRef)url, NULL);
CGImageRef resultRef = CGImageSourceCreateThumbnailAtIndex(imageSource, 0, (__bridge CFDictionaryRef)options);
result = [UIImage imageWithCGImage:resultRef];
CGImageRelease(resultRef);
}
return result;
}
AK
AK
- (UIImage *)scaledImageFromFileAtURL:(NSURL *)url compressionFlow:(HMThumbnailCompressionFlow)compressionFlow {
if (compressionFlow ==
HMThumbnailCompressionFlowEmpty) {
return [UIImage new];
}
UIImage *result;
@autoreleasepool {
CGSize screenSize = [UIScreen mainScreen].bounds.size;
CGFloat scale = 2;
CGFloat pixelSize = 0;
if (compressionFlow ==
HMThumbnailCompressionFlowSoft) {
pixelSize = MAX(screenSize.width, screenSize.height);
}
else {
pixelSize = MIN(screenSize.width, screenSize.height);
}
pixelSize *= scale;
NSDictionary *options = @{(NSString *)kCGImageSourceCreateThumbnailFromImageIfAbsent:@(YES),
(NSString *)kCGImageSourceCreateThumbnailWithTransform:@(YES),
(NSString *)kCGImageSourceShouldCacheImmediately:@(YES),
(NSString *)kCGImageSourceThumbnailMaxPixelSize:@(pixelSize),
(NSString *)kCGImageSourceCreateThumbnailFromImageAlways:@(YES),
(NSString *)kCGImageSourceShouldCache:@(NO)};
CGImageSourceRef imageSource = CGImageSourceCreateWithURL((__bridge CFURLRef)url, NULL);
CGImageRef resultRef = CGImageSourceCreateThumbnailAtIndex(imageSource, 0, (__bridge CFDictionaryRef)options);
result = [UIImage imageWithCGImage:resultRef];
CGImageRelease(resultRef);
}
return result;
}
AK
let imageData = UIImageJPEGRepresentation(image, 0.9) {
AK
NK
AK
D
ЕН
DK
D
AK
AK
В
В
AK