// // NSObject+Extensions.m // Private-X // // Created by xd h on 2024/5/26. // #import "NSObject+Extensions.h" @implementation NSObject (Extensions) @end @implementation UIImage (Extentions) - (UIImage *)getSubImage:(CGRect)rect{ if (rect.origin.x+rect.size.width > self.size.width || rect.origin.y+rect.size.height > self.size.height) { return self; } 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; } - (UIImage *)imageByResizeToSize:(CGSize)size { if (size.width <= 0 || size.height <= 0){ return nil; } UIGraphicsBeginImageContextWithOptions(size, NO, self.scale); [self drawInRect:CGRectMake(0, 0, size.width, size.height)]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; } @end