2 for 2012 for_2012 于 2013.05.30 15:11 提问

获取网页整个图片失败

需要捕获网页的全屏图片,但是显示出来是空白。

应该怎么实现?

我的失败代码:

CGSize overallSize = [WebPageImage sizeThatFits:CGSizeZero];
UIGraphicsBeginImageContext(WebPageImage.scrollView.contentSize);
WebPageImage.bounds = CGRectMake(0, 0, overallSize.width, overallSize.height);
while (WebPageImage.loading) {
    [NSThread sleepForTimeInterval:0.1];
}
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,(unsigned long)NULL), ^(void) {
    UIImageWriteToSavedPhotosAlbum(viewImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
});

1个回答

xinyoulingxi1_tong
xinyoulingxi1_tong   2013.05.30 17:28

根据需求修改吧,这是可以捕捉整个屏幕的抓图

- (UIImage *) imageFromWebView:(UIWebView *)view
{
//    tempframe to reset view size after image was created
    CGRect tmpFrame     = view.frame;

    // set new Frame
    CGRect aFrame       = view.frame;
    aFrame.size.height  = [view sizeThatFits:[[UIScreen mainScreen] bounds].size].height;
    aFrame.size.width   = [view sizeThatFits:[[UIScreen mainScreen] bounds].size].width;
    view.frame          = aFrame;

//     do image magic
    UIGraphicsBeginImageContext([view sizeThatFits:[[UIScreen mainScreen] bounds].size]);
    CGContextRef resizedContext = UIGraphicsGetCurrentContext();
    [self.thmbWebView.layer renderInContext:resizedContext];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    // reset Frame of view to origin
    view.frame = tmpFrame;
    return image;
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java爬虫抓取网页内容,下载网站图片
java爬虫抓取网页内容,下载网站图片。抓取整个网站的图片,获取网页完整内容
Java捕获一个网站页面的全部图片
package com.test.picture; import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.List;
Java简单实现爬虫技术,抓取整个整个网站所有链接+图片+文件(思路+代码)
Java简单实现爬虫技术,抓取整个网站所有链接+图片+文件(思路+代码) 写这个纯属个人爱好,前两天想玩爬虫,但是百度了一大圈也没发现有好一点的帖子,所以就自己研究了下,亲测小点的网站还是能随随便便爬完的,由于是单线程所以速度嘛~~你懂的 (多线程没学好,后期再慢慢加上多线程吧) 先上几张效果图 需要用到的知识点 网络请求(至于用哪个嘛,看个人喜好,文章用的...
整个网页保存为图片
操作如下:
c#对网页进行全部截取的截图
最近项目需要将生成的网页做成截图,然后供用户下载,所以将此功能做成服务,代码非常的简单,只需要使用webbrowser获取html,然后输出的位图即可。 c#对网页进行全部截取的截图: 代码如下: myWebBrowser = new WebBrowser(); myWebBrowser.ScrollBarsEnabled = false; m
VB.net捕获整个网页并保存成图像
VB.net捕获整个网页并保存成图像有软件 Private Sub GetImage() If WebBrowser1.Document Is Nothing Then Return End If Try Dim scrollWidth As Integer Dim scrollHeight As Integer scrollHeight = WebBrowser1.Document.Body.ScrollRectangle.Height scrollWidth = WebBrowser1.Document.Body.ScrollRectangle.Width WebBrowser1.Size = New Size(scrollWidth, scrollHeight) Dim bm As New Bitmap(scrollWidth, scrollHeight) WebBrowser1.DrawToBitmap(bm, New Rectangle(0, 0, bm.Width, bm.Height)) Dim SaveAsName As String SaveAsName = Regex.Replace(textWebURL.Text, "(\\|\/|\:|\*|\?|\""|\<|\>|\|)?", "") bm.Save(SaveAsName & ".png", System.Drawing.Imaging.ImageFormat.Png) bm.Dispose() Catch ex As Exception MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally ' End Try buttonCapture.Enabled = True End Sub
怎么让图片占据整个页面
下面列出三种方法让图片占据整个页面,适应窗口的大小。方法一: 使用img标签,设置其宽高为100%,并设置定位position为absolute。<!-- 样式部分 --> <style type="text/css"> *{ margin: 0; padding: 0; } img{ width: 100%;
python 抓取一个网站所有图片并保存
python 抓取一个网站所有图片并保存
python 爬虫获取网页图片
#抓取百度贴吧的图片    # 网址:http://tieba.baidu.com/p/4775824848 #注意:不同的网址它的图片的正则表达式是不同的,可以在其网页源码查找,根据图片位置 ##相关资料:点击打开链接 import urllib.request import re import os def fetch_pictures(url): html_con
获取整个网页的html源码
#region 获取整个网页的html源码         public static string GetStringByUrl(string strUrl,string strEncode)         {             WebRequest wrt = WebRequest.Create(strUrl);             WebResponse wrse = w