UIImage+ForceDecode.m 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * This file is part of the SDWebImage package.
  3. * (c) Olivier Poitrey <rs@dailymotion.com>
  4. *
  5. * For the full copyright and license information, please view the LICENSE
  6. * file that was distributed with this source code.
  7. */
  8. #import "UIImage+ForceDecode.h"
  9. #import "SDImageCoderHelper.h"
  10. #import "objc/runtime.h"
  11. @implementation UIImage (ForceDecode)
  12. - (BOOL)sd_isDecoded {
  13. NSNumber *value = objc_getAssociatedObject(self, @selector(sd_isDecoded));
  14. return value.boolValue;
  15. }
  16. - (void)setSd_isDecoded:(BOOL)sd_isDecoded {
  17. objc_setAssociatedObject(self, @selector(sd_isDecoded), @(sd_isDecoded), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
  18. }
  19. + (UIImage *)sd_decodedImageWithImage:(UIImage *)image {
  20. if (!image) {
  21. return nil;
  22. }
  23. return [SDImageCoderHelper decodedImageWithImage:image];
  24. }
  25. + (UIImage *)sd_decodedAndScaledDownImageWithImage:(UIImage *)image {
  26. return [self sd_decodedAndScaledDownImageWithImage:image limitBytes:0];
  27. }
  28. + (UIImage *)sd_decodedAndScaledDownImageWithImage:(UIImage *)image limitBytes:(NSUInteger)bytes {
  29. if (!image) {
  30. return nil;
  31. }
  32. return [SDImageCoderHelper decodedAndScaledDownImageWithImage:image limitBytes:bytes];
  33. }
  34. @end