| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- //
- // UIImage+MOSVG.m
- // MiMoLive
- //
- // Created by SuperC on 2023/11/21.
- //
- #import "UIImage+MOSVG.h"
- @implementation UIImage (MOSVG)
- + (UIImage*)br_svgImageNamed:(NSString*)name {
- SVGKImage *svgImage = [SVGKImage imageNamed:name];
- return svgImage.UIImage;
- }
- + (UIImage*)br_svgImageNamed:(NSString*)name size:(CGSize)size {
- SVGKImage *svgImage = [SVGKImage imageNamed:name];
- svgImage.size = size;
- return svgImage.UIImage;
- }
- + (UIImage*)br_svgImageNamed:(NSString*)name size:(CGSize)size tintColor:(UIColor*)tintColor {
- SVGKImage *svgImage = [SVGKImage imageNamed:name];
- svgImage.size = size;
- CGRect rect = CGRectMake(0,0, svgImage.size.width, svgImage.size.height);
- CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(svgImage.UIImage.CGImage);
- BOOL opaque = alphaInfo == kCGImageAlphaNoneSkipLast || alphaInfo == kCGImageAlphaNoneSkipFirst || alphaInfo == kCGImageAlphaNone;
- UIGraphicsBeginImageContextWithOptions(svgImage.size, opaque, svgImage.scale);
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextTranslateCTM(context,0, svgImage.size.height);
- CGContextScaleCTM(context,1.0, -1.0);
- CGContextSetBlendMode(context, kCGBlendModeNormal);
- CGContextClipToMask(context, rect, svgImage.UIImage.CGImage);
- CGContextSetFillColorWithColor(context, tintColor.CGColor);
- CGContextFillRect(context, rect);
- UIImage *imageOut = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return imageOut;
- }
- @end
|