123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- //
- // UIImage+Extends.m
- // HKBaseNavigationDemo
- //
- // Created by hukaiyin on 16/6/26.
- // Copyright © 2016年 hukaiyin. All rights reserved.
- //
- #import "UIImage+Extends.h"
- @implementation UIImage (Extends)
- #pragma mark - Color
- - (UIImage *)imageWithTintColor:(UIColor *)tintColor blendMode:(CGBlendMode)blendMode {
- UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.f);
- [tintColor setFill];
- CGRect bounds = CGRectMake(0, 0, self.size.width, self.size.height);
- UIRectFill(bounds);
- [self drawInRect:bounds blendMode:blendMode alpha:1.f];
- UIImage *tintedImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return tintedImage;
- }
- + (UIImage *)imageWithColor:(UIColor *)color {
- CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
- UIGraphicsBeginImageContext(rect.size);
- CGContextRef context = UIGraphicsGetCurrentContext();
-
- CGContextSetFillColorWithColor(context, [color CGColor]);
- CGContextFillRect(context, rect);
-
- UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
-
- return image;
- }
- #pragma mark - Size
- -(UIImage*)getSubImage:(CGRect)rect {
- CGImageRef subImageRef = CGImageCreateWithImageInRect(self.CGImage, rect);
- CGRect smallBounds = CGRectMake(0, 0, CGImageGetWidth(subImageRef), CGImageGetHeight(subImageRef));
-
- UIGraphicsBeginImageContext(smallBounds.size);
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextDrawImage(context, smallBounds, subImageRef);
- UIImage* smallImage = [UIImage imageWithCGImage:subImageRef];
- UIGraphicsEndImageContext();
-
- return smallImage;
- }
- @end
|