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];

相關文章
相關標籤/搜索