UIImage+BUMetadata.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 "BU_SDWebImageCompat.h"
  9. #import "NSData+BUImageContentType.h"
  10. /**
  11. UIImage category for image metadata, including animation, loop count, format, incremental, etc.
  12. */
  13. @interface UIImage (BUMetadata)
  14. /**
  15. * UIKit:
  16. * For static image format, this value is always 0.
  17. * For animated image format, 0 means infinite looping.
  18. * Note that because of the limitations of categories this property can get out of sync if you create another instance with CGImage or other methods.
  19. * AppKit:
  20. * NSImage currently only support animated via GIF imageRep unlike UIImage.
  21. * The getter of this property will get the loop count from GIF imageRep
  22. * The setter of this property will set the loop count from GIF imageRep
  23. */
  24. @property (nonatomic, assign) NSUInteger sdBu_imageLoopCount;
  25. /**
  26. * UIKit:
  27. * Check the `images` array property
  28. * AppKit:
  29. * NSImage currently only support animated via GIF imageRep unlike UIImage. It will check the imageRep's frame count.
  30. */
  31. @property (nonatomic, assign, readonly) BOOL sdBu_isAnimated;
  32. /**
  33. * The image format represent the original compressed image data format.
  34. * If you don't manually specify a format, this information is retrieve from CGImage using `CGImageGetUTType`, which may return nil for non-CG based image. At this time it will return `BU_SDImageFormatUndefined` as default value.
  35. * @note Note that because of the limitations of categories this property can get out of sync if you create another instance with CGImage or other methods.
  36. */
  37. @property (nonatomic, assign) BU_SDImageFormat sdBu_imageFormat;
  38. /**
  39. A bool value indicating whether the image is during incremental decoding and may not contains full pixels.
  40. */
  41. @property (nonatomic, assign) BOOL sdBu_isIncremental;
  42. @end