zoukankan      html  css  js  c++  java
  • 屏幕截屏——UIGetScreenImage .

    CGImageRef UIGetScreenImage();
    
    - (UIImage *) getScreenImage:(UIView *)shotView{
    
        CGImageRef cgImage = UIGetScreenImage();
    
        void *imageBytes = NULL;
    
        if (cgImage == NULL) {
    
            CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
    
            imageBytes = malloc(shotView.bounds.size.width * shotView.bounds.size.height * 4);
    
            CGContextRef context = CGBitmapContextCreate(imageBytes, shotView.bounds.size.width, shotView.bounds.size.height, 8, shotView.bounds.size.width * 4, colorspace, kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Big);
    
            CGColorSpaceRelease(colorspace);
    
            for (UIWindow *window in [[UIApplication sharedApplication] windows]) {
    
                CGRect bounds = [window bounds];
    
                CALayer *layer = [window layer];
    
                CGContextSaveGState(context);
    
                if ([layer contentsAreFlipped]) {
    
                    CGContextTranslateCTM(context, 0.0f, bounds.size.height);
    
                    CGContextScaleCTM(context, 1.0f, -1.0f);
    
                }
    
                [layer renderInContext:(CGContextRef)context];
    
                CGContextRestoreGState(context);
    
            }
    
            cgImage = CGBitmapContextCreateImage(context);
    
            CGContextRelease(context);
    
        }
    
        UIImage *resultingImage = [UIImage imageWithCGImage:cgImage];
    
        CGImageRelease(cgImage);
    
        return resultingImage;
    
    }
  • 相关阅读:
    制作OSGB数据索引
    汤臣一品
    Python 库/模块的安装、查看
    ezdxf包下autocad的开发
    python3.7安装pylint
    航拍全景图补天
    电脑百科
    使用Excel批量提取文件名
    利用爬虫实现网上的图片自动下载
    MarkDown&思维导图
  • 原文地址:https://www.cnblogs.com/gaoxiao228/p/3079210.html
Copyright © 2011-2022 走看看