1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- //
- // UIImage+Tint.m
- // shiku_im
- //
- // Created by 1 on 17/3/6.
- // Copyright © 2017年 Reese. All rights reserved.
- //
- #import "UIImage+Tint.h"
- @implementation UIImage (Tint)
- -(UIImage *)imageWithTintColor:(UIColor *)tintColor{
- return [self imageWithTintColor:tintColor blendMode:kCGBlendModeDestinationIn];
- }
- -(UIImage *)imageWithGradientTintColor:(UIColor *)tintColor{
- return [self imageWithTintColor:tintColor blendMode:kCGBlendModeOverlay];
- }
- -(UIImage *)imageWithTintColor:(UIColor *)tintColor blendMode:(CGBlendMode)blendMode{
-
- //We want to keep alpha, set opaque to NO; Use 0.0f for scale to use the scale factor of the device’s main screen.
- UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0f);
- [tintColor setFill];
- CGRect bounds = CGRectMake(0, 0, self.size.width, self.size.height);
- UIRectFill(bounds);
-
- //Draw the tinted image in context
- [self drawInRect:bounds blendMode:blendMode alpha:1.0f];
-
- if (blendMode != kCGBlendModeDestinationIn) {
- [self drawInRect:bounds blendMode:kCGBlendModeDestinationIn alpha:1.0f];
- }
-
- UIImage *tintedImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
-
- return tintedImage;
-
- }
- // 控件绘制成图片
- + (UIImage *)imageWithView:(UIView *)view {
-
-
- //转化成image
- // UIGraphicsBeginImageContext(view.bounds.size);
- UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES,[UIScreen mainScreen].scale);
- CGContextRef ctx = UIGraphicsGetCurrentContext();
- [view.layer renderInContext:ctx];
- UIImage* tImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return tImage;
- }
- @end
|