Explorar o código

Merge pull request #3844 from CloudlessMoon/master

Switched image encoding to a context-aware approach with a safe fallback, allowing per-request encoder selection without changing the public API.
DreamPiggy hai 6 meses
pai
achega
f8bd0c0ffc
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      SDWebImage/Core/SDImageCache.m

+ 5 - 1
SDWebImage/Core/SDImageCache.m

@@ -279,7 +279,11 @@ static NSString * _defaultDiskCacheDirectory;
                     format = [SDImageCoderHelper CGImageContainsAlpha:image.CGImage] ? SDImageFormatPNG : SDImageFormatJPEG;
                 }
             }
-            NSData *encodedData = [[SDImageCodersManager sharedManager] encodedDataWithImage:image format:format options:context[SDWebImageContextImageEncodeOptions]];
+            id<SDImageCoder> imageCoder = context[SDWebImageContextImageCoder];
+            if (!imageCoder) {
+                imageCoder = [SDImageCodersManager sharedManager];
+            }
+            NSData *encodedData = [imageCoder encodedDataWithImage:image format:format options:context[SDWebImageContextImageEncodeOptions]];
             dispatch_async(self.ioQueue, ^{
                 [self _storeImageDataToDisk:encodedData forKey:key];
                 [self _archivedDataWithImage:image forKey:key];