DKPhotoPickerBrowserPhoto.m 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //
  2. // PickerPhoto.m
  3. // ZLAssetsPickerDemo
  4. //
  5. //
  6. #import "DKPhotoPickerBrowserPhoto.h"
  7. #import "DKCamera.h"
  8. @implementation DKPhotoPickerBrowserPhoto
  9. - (void)setPhotoObj:(id)photoObj{
  10. _photoObj = photoObj;
  11. if ([photoObj isKindOfClass:[DKPhotoAssets class]]) {
  12. DKPhotoAssets *asset = (DKPhotoAssets *)photoObj;
  13. self.asset = asset;
  14. }else if ([photoObj isKindOfClass:[NSURL class]]){
  15. self.photoURL = photoObj;
  16. }else if ([photoObj isKindOfClass:[UIImage class]]){
  17. self.photoImage = photoObj;
  18. }else if ([photoObj isKindOfClass:[NSString class]]){
  19. self.photoURL = [NSURL URLWithString:photoObj];
  20. }else if ([photoObj isKindOfClass:[DKCamera class]]){
  21. self.photoImage = (UIImage *)[photoObj fullScreenImage];
  22. }else{
  23. NSAssert(true == true, @"您传入的类型有问题");
  24. }
  25. }
  26. - (UIImage *)photoImage{
  27. if (!_photoImage && self.asset) {
  28. _photoImage = [self.asset originImage];
  29. }
  30. return _photoImage;
  31. }
  32. - (UIImage *)thumbImage{
  33. if (!_thumbImage) {
  34. if (self.asset) {
  35. _thumbImage = [self.asset thumbImage];
  36. }else if (_photoImage){
  37. _thumbImage = _photoImage;
  38. }
  39. }
  40. return _thumbImage;
  41. }
  42. #pragma mark - 传入一个图片对象,可以是URL/UIImage/NSString,返回一个实例
  43. + (instancetype)photoAnyImageObjWith:(id)imageObj{
  44. DKPhotoPickerBrowserPhoto *photo = [[self alloc] init];
  45. [photo setPhotoObj:imageObj];
  46. return photo;
  47. }
  48. @end