ios - 如何获取当前屏幕ios中特定区域的UIImage

标签 ios uiimage screen area

以下代码获取当前屏幕的UIImage:

    UIGraphicsBeginImageContext(self.view.frame.size);
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    [self.view.layer renderInContext:ctx];
    UIImage *backgroundImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

如果我有一个 CGRect 矩形并且我只想获取该矩形中当前屏幕的 UIImage,我该怎么做?

最佳答案

获取矩形(裁剪)图像:

UIImage *croppedImg = nil;
CGRect cropRect = CGRectMake(AS You Need);
croppedImg = [self croppIngimageByImageName:self.imageView.image toRect:cropRect];

使用以下返回 UIImage 的方法(您想要的图像大小)

- (UIImage *)croppIngimageByImageName:(UIImage *)imageToCrop toRect:(CGRect)rect
    {
        //CGRect CropRect = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height+15);

        CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect);
        UIImage *cropped = [UIImage imageWithCGImage:imageRef];
        CGImageRelease(imageRef);

        return cropped;
    }

关于ios - 如何获取当前屏幕ios中特定区域的UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14477611/

相关文章:

ios - 使用 UIImageView 调整 UIImage

ios - 从核心数据中的文档目录保存图像路径,仅检索部分图像。 swift

android - 来电时如何区分屏幕亮灭状态?

javascript - Mozilla Firefox 程序化屏幕捕获

ios - 两次更改设备方向时出现奇怪的崩溃

css - <p> 标签中的文本在移动设备上溢出屏幕左侧

ios - 如何使用 Firebase Analytics 事件。以及我们如何从 Firebase 控制台进行管理

ios - 如何检测 iOS 钥匙串(keychain)项目是否不可用? (首次解锁前)

ios - 为什么 ARC 完全使用自动释放?

ios - 如何计算 Swift 数组中元素的出现次数?