ios截屏 u3d导出Xcode工程截屏
在ios原生程序里面
全屏截屏
?UIWindow *window = [[UIApplication sharedApplication] keyWindow]; //下邊是經典的4步
?
? ? UIGraphicsBeginImageContext(window.frame.size); //打開畫布,并設定大小
? ?[window.layer renderInContext:UIGraphicsGetCurrentContext()]; // u3d下 此行替換
? ? UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
? ? UIGraphicsEndImageContext();
?
指定部分截屏:接著上面做,已經獲取到了全屏的(UIImage *)screenShot
?CGRect rect = CGRectMake(0, 100, K_WIDTH, 400); //設置 一個截屏區(qū)域
?CGImageRef imageRef = CGImageCreateWithImageInRect(_screenShot.CGImage, rect); //注意指針沒有星號
?screenShot = [UIImage imageWithCGImage:imageRef]; //創(chuàng)建新圖片需要一個CGImageRef的參數
?
?
一般對iOS來講就夠用了,但對于u3d導出的XCode工程來講,這樣截圖會截到一片白,查看運行中XCode中的層級視圖,確實一片白
通過保存到圖庫查看 ?UIImageWriteToSavedPhotosAlbum(_screenShot, nil, nil, nil);?
?
解決辦法:把上面標注替換的一行換成下面
? ? [window drawViewHierarchyInRect:CGRectMake(0, 0, K_WIDTH, K_HEIGHT) afterScreenUpdates:YES];
轉載于:https://www.cnblogs.com/binbins/p/6097352.html
總結
以上是生活随笔為你收集整理的ios截屏 u3d导出Xcode工程截屏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全网最全移动端App性能测试方法,值得收
- 下一篇: BZOJ4068 : [Ctsc2015