UIImage+TintColor.m 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // UIImage+TintColor.m
  3. // PDFViewer
  4. //
  5. // Created by kdanmobile_2 on 2023/1/3.
  6. //
  7. #import "UIImage+TintColor.h"
  8. @implementation UIImage (TintColor)
  9. - (UIImage *)imageWithTintColor:(UIColor *)tintColor {
  10. UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0f);
  11. [tintColor setFill];
  12. CGRect bounds = CGRectMake(0, 0, self.size.width, self.size.height);
  13. UIRectFill(bounds);
  14. [self drawInRect:bounds blendMode:kCGBlendModeDestinationIn alpha:0.3f];
  15. [self drawInRect:bounds blendMode:kCGBlendModeOverlay alpha:2.0f];
  16. UIImage *tintImage = UIGraphicsGetImageFromCurrentImageContext();
  17. UIGraphicsEndImageContext();
  18. return tintImage;
  19. }
  20. - (void)setDatamodel:(CPDFDataModel *)datamodel {
  21. self.datamodel = datamodel;
  22. }
  23. - (CPDFDataModel *)datamodel {
  24. return self.datamodel;
  25. }
  26. - (CGRect)rotateRect:(CGRect)rect {
  27. CGAffineTransform tranform_1 = CGAffineTransformMakeTranslation(- self.size.width / 2, - self.size.height / 2);
  28. CGRect rect_1 = CGRectApplyAffineTransform(rect,tranform_1);
  29. CGAffineTransform tranform_2 = CGAffineTransformMakeRotation(M_PI / 8);
  30. CGRect rect_2 = CGRectApplyAffineTransform(rect_1,tranform_2);
  31. CGAffineTransform tranform_3 = CGAffineTransformMakeTranslation(- self.size.width / 2, - self.size.height / 2);
  32. CGRect rect_3 = CGRectApplyAffineTransform(rect_2,tranform_3);
  33. return rect_3;
  34. }
  35. @end