UIWebViewフルスクリーンのスクリーンショット

  プロジェクト開発、我々は、次のシナリオが発生する場合がありますので、上の記事、スクリーンショットを行って(転動部品を含む、全画面キャプチャが必要)、シェアシーナマイクロブロギング、電子メールなどを。いくつかの時間前、私はアプリケーション開発機能で実現し、コードが自分の上位ビットを見つけるためにインターネットからです。以下の方法は、主スクリーンショットが実装されます。

1  // (圧延部を含む)ページのスクリーンショットを達成
2(のUIView *:(NSDataの*)getImageFromView - 閲覧
 3。 {
 4      のNSData * ; pngImg
 5。      CGFloat MAX、スケール= 1.0 ;
 6。      CGSize viewSize = [表示範囲] .size ;
 7      
8。     // 可視部分と非可視部分(転動部)を備え、フルスクリーンサイズを取得
9。      CGSizeサイズ= [ビューsizeThatFits:CGSizeZero];
 10      
。11      ?最大値=(viewSize.width> viewSize.height)viewSize.width。 viewSize.height;
 12は、     IF(maxは> 960 13は     {
 14         規模= 960 / 最大。
15      }
 16      
17      UIGraphicsBeginImageContextWithOptions(サイズ、YES、スケール)。
18      
19      // 设置図成全部展开效果
20      [ビューsetFrame:CGRectMake(00 、size.width、size.height)]。
21      
22      CGContextRefコンテキスト= UIGraphicsGetCurrentContext()。
23      [renderInContext view.layer:コンテキスト]。
24      pngImg = UIImagePNGRepresentation(UIGraphicsGetImageFromCurrentImageContext())。
25      
26      UIGraphicsEndImageContext()。
27      リターンPngimg;
28 }

  使用時で、私たちは、次のコードを使用することができます。

。1つの // WebViewののUIWebViewコントロールは、ページには、これはWebViewのフルスクリーンテーマ、他のコントロールを実現している、であるあなたのできるテストで
2 NSDataの画像データ* = [自己getImageFromView:WebViewの];
 3。 [画像データWRITETOFILE:[[NSHomeDirectory()stringByAppendingPathComponent:@ " ドキュメント" ] stringByAppendingPathComponent:"@ new.png " ]アトミック:YES];

  [説明]:、QuartzCore.frameworkフレームを導入する必要性をキャプチャ機能を実現する、するには、次のヘッダーを追加します。

  書式#include <QuartzCore / QuartzCore.h>

 

ます。https://www.cnblogs.com/eagle927183/p/3476209.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33708432/article/details/93725165