iOS截取屏幕快照

陆文博
2023-12-01

iOS截取屏幕快照

/** 对当前屏幕展示进行截图*/

  • (UIImage *)getScreenShotImage
    {
    UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
    // 1.开启上下文
    UIGraphicsBeginImageContextWithOptions(window.bounds.size, window.opaque, 0);
    // 2.渲染
    [window drawViewHierarchyInRect:window.bounds afterScreenUpdates:NO];
    // 3.获取图片
    UIImage *snapshotImage=UIGraphicsGetImageFromCurrentImageContext();
    // 4.结束上下文
    UIGraphicsEndImageContext();
    return snapshotImage;
    }
    此代码已验证不管是原生iOS,还是c++游戏界面都可以截取快照。注意一下drawViewHierarchyInRect此方法要求iOS8.0以上才可用。
 类似资料: