/
UIGetScreenImage
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; }
, multiple selections available,
Related content
UIColor to UIImage
UIColor to UIImage
More like this
Image Dimension
Image Dimension
More like this
UIEdgeInsets
UIEdgeInsets
More like this
谈谈iOS Animation
谈谈iOS Animation
More like this
iOS AutoLayout - get frame size width
iOS AutoLayout - get frame size width
More like this