UIImage+RQExtension.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. //
  2. // UIImage+RQExtension.h
  3. // RQCommon
  4. //
  5. // Created by 张嵘 on 2018/11/16.
  6. // Copyright © 2018 张嵘. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. @interface UIImage (RQExtension)
  10. + (UIImage *)fixOrientation:(UIImage *)image;
  11. /**
  12. * 根据图片名返回一张能够自由拉伸的图片 (从中间拉伸)
  13. */
  14. + (UIImage *)rq_resizableImage:(NSString *)imgName;
  15. + (UIImage *)rq_resizableImage:(NSString *)imgName capInsets:(UIEdgeInsets)capInsets;
  16. /// 返回一张未被渲染的图片
  17. + (UIImage *)rq_imageAlwaysShowOriginalImageWithImageName:(NSString *)imageName;
  18. /// 获取视频某个时间的帧图片
  19. + (UIImage *)rq_thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time;
  20. /// /// 获取屏幕截图
  21. ///
  22. /// @return 屏幕截图图像
  23. + (UIImage *)rq_screenShot;
  24. - (UIImage *)rq_fixOrientation;
  25. /**生成新尺寸 不裁剪图片
  26. */
  27. - (UIImage *)scaledToSize:(CGSize)newSize;
  28. /**生成新尺寸 裁剪图片
  29. */
  30. - (UIImage *)scaledAndCutToSize:(CGSize)newSize;
  31. - (UIImage*)imageRotatedByDegrees:(CGFloat)degrees;
  32. /// 压缩图片到指定大小(单位KB)
  33. + (NSData *)resetSizeOfImageData:(UIImage *)sourceImage maxSize:(NSInteger)maxSize;
  34. /// 调整图片分辨率/尺寸(等比例缩放)
  35. + (UIImage *)newSizeImage:(CGSize)size image:(UIImage *)sourceImage;
  36. /**
  37. * 给图片加水印图片
  38. *
  39. * @param image 水印图片
  40. * @param imgRect 水印图片所在位置,大小
  41. * @param alpha 水印图片的透明度,0~1之间,透明度太大会完全遮盖被加水印图片的那一部分
  42. *
  43. * @return 加完水印的图片
  44. */
  45. - (UIImage*)imageWaterMarkWithImage:(UIImage *)image imageRect:(CGRect)imgRect alpha:(CGFloat)alpha;
  46. /**
  47. * 同上
  48. *
  49. * @param image 同上
  50. * @param imgPoint 水印图片(0,0)所在位置
  51. * @param alpha 同上
  52. *
  53. * @return 同上
  54. */
  55. - (UIImage*)imageWaterMarkWithImage:(UIImage*)image imagePoint:(CGPoint)imgPoint alpha:(CGFloat)alpha;
  56. /**
  57. * 给图片加文字水印
  58. *
  59. * @param str 水印文字
  60. * @param strRect 文字所在的位置大小
  61. * @param attri 文字的相关属性,自行设置
  62. *
  63. * @return 加完水印文字的图片
  64. */
  65. - (UIImage*)imageWaterMarkWithString:(NSString*)str rect:(CGRect)strRect attribute:(NSDictionary *)attri;
  66. /**
  67. * 同上
  68. *
  69. * @param str 同上
  70. * @param strPoint 文字(0,0)点所在位置
  71. * @param attri 同上
  72. *
  73. * @return 同上
  74. */
  75. - (UIImage*)imageWaterMarkWithString:(NSString*)str point:(CGPoint)strPoint attribute:(NSDictionary*)attri;
  76. /**
  77. * 返回加水印文字和图片的图片
  78. *
  79. * @param str 水印文字
  80. * @param strPoint 文字(0,0)点所在位置
  81. * @param attri 文字属性
  82. * @param image 水印图片
  83. * @param imgPoint 图片(0,0)点所在位置
  84. * @param alpha 透明度
  85. *
  86. * @return 加完水印的图片
  87. */
  88. - (UIImage*)imageWaterMarkWithString:(NSString*)str point:(CGPoint)strPoint attribute:(NSDictionary*)attri image:(UIImage*)image imagePoint:(CGPoint)imgPoint alpha:(CGFloat)alpha;
  89. /**
  90. * 同上
  91. *
  92. * @param str 同上
  93. * @param strRect 文字的位置大小
  94. * @param attri 同上
  95. * @param image 同上
  96. * @param imgRect 图片的位置大小
  97. * @param alpha 透明度
  98. *
  99. * @return 同上
  100. */
  101. - (UIImage*)imageWaterMarkWithString:(NSString*)str rect:(CGRect)strRect attribute:(NSDictionary *)attri image:(UIImage *)image imageRect:(CGRect)imgRect alpha:(CGFloat)alpha;
  102. - (UIImage *)imageAddCornerWithCornerRadiusArray:(NSArray<NSNumber *> *)cornerRadius lineWidth:(CGFloat)lineWidth borderPosition:(QMUIImageBorderPosition)borderPosition lineColor:(NSString *)lineColor andSize:(CGSize)size;
  103. @end