ios截屏 u3d导出Xcode工程截屏

在ios原生程序里面ios

全屏截屏spa

 UIWindow *window = [[UIApplication sharedApplication] keyWindow];  //下边是经典的4步3d

 

    UIGraphicsBeginImageContext(window.frame.size);  //打开画布,并设定大小指针

   [window.layer renderInContext:UIGraphicsGetCurrentContext()];  // u3d下 此行替换blog

    UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();图片

    UIGraphicsEndImageContext();it

 

指定部分截屏:接着上面作,已经获取到了全屏的(UIImage *)screenShot
io

 CGRect rect = CGRectMake(0, 100, K_WIDTH, 400);                  //设置 一个截屏区域class

 CGImageRef imageRef = CGImageCreateWithImageInRect(_screenShot.CGImage, rect);  //注意指针没有星号
date

 screenShot = [UIImage imageWithCGImage:imageRef];                 //建立新图片须要一个CGImageRef的参数

 

 

通常对iOS来说就够用了,但对于u3d导出的XCode工程来说,这样截图会截到一片白,查看运行中XCode中的层级视图,确实一片白

经过保存到图库查看  UIImageWriteToSavedPhotosAlbum(_screenShot, nil, nil, nil); 

 

解决办法:把上面标注替换的一行换成下面

    [window drawViewHierarchyInRect:CGRectMake(0, 0, K_WIDTH, K_HEIGHT) afterScreenUpdates:YES];

相关文章
相关标签/搜索