- (UIImage *)imagecutWithRect:(CGRect)rect { CGImageRef subImageRef = CGImageCreateWithImageInRect(self.CGImage, rect); CGRect smallRect = CGRectMake(0, 0, CGImageGetWidth(subImageRef), CGImageGetHeight(subImageRef)); // 开启图形上下文 UIGraphicsBeginImageContext(smallRect.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextDrawImage(context, smallRect, subImageRef); UIImage * image = [UIImage imageWithCGImage:subImageRef]; // 关闭图形上下文 UIGraphicsEndImageContext(); CGImageRelease(subImageRef); return image; }
使用
- (UIImageView *)imageView { if (_imageView == nil) { self.imageView = [[UIImageView alloc] init]; self.imageView.backgroundColor = [UIColor redColor]; UIImage * image = [UIImage imageNamed:@"1.jpg"]; // 截取原图中间300*300 CGFloat cutImageWH = 300; CGFloat cutImage_x = (image.size.width - 300) / 2; CGFloat cutImage_y = (image.size.height - 300) / 2; self.imageView.image = [image imagecutWithRect:CGRectMake(cutImage_x, cutImage_y, cutImageWH, cutImageWH)]; } return _imageView; }
你的一次推荐就是对我莫大的支持。感觉不错,给个推荐或者评论吧。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步