【问题标题】:Take snapshot / screenshot of UIWebView拍摄 UIWebView 的快照/屏幕截图
【发布时间】:2010-08-11 12:14:34
【问题描述】:

如何拍摄UIWebView 控件的快照/屏幕截图?

【问题讨论】:

    标签: ios uiwebview


    【解决方案1】:

    接受的答案是正确的,但是屏幕截图不是视网膜分辨率。 使用UIGraphicsBeginImageContextWithOptions 并将其缩放参数设置为 0.0f 使其以原始分辨率捕获。

    UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
    CGRect rect = [keyWindow bounds];
    UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [keyWindow.layer renderInContext:context];   
    UIImage *capturedScreen = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    

    【讨论】:

      【解决方案2】:

      使用这个:

      UIGraphicsBeginImageContext(rect.size);
      [webView.layer renderInContext:UIGraphicsGetCurrentContext()];
      UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
      UIGraphicsEndImageContext();
      

      【讨论】:

      • 截取网页视图时,只截取可见区域的截图。不考虑隐藏区域。
      【解决方案3】:

      使用此代码截取屏幕截图并将其保存到库中

          UIGraphicsBeginImageContext(self.view.bounds.size);
      [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
      UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
      UIGraphicsEndImageContext();
      UIImageWriteToSavedPhotosAlbum(viewImage, self, nil, nil);
      

      您可以通过更改屏幕截图部分来更改

      UIGraphicsBeginImageContext(self.view.bounds.size);
      

      到你各自的价值 试试吧,对你有帮助

      【讨论】:

        猜你喜欢
        • 2012-09-03
        • 1970-01-01
        • 2012-04-22
        • 2014-01-12
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 2014-05-16
        • 1970-01-01
        相关资源
        最近更新 更多