2012-01-19 35 views
0

我有一个UIWebView其中有图像,说我有图像的x y位置的点/坐标,宽度和高度。我可以通过在UIWebView中指定图像的位置来创建图像吗?如果是的话如何?从点创建UIImage

或者有没有办法从UIWebView中获得UIImage而不实际查看html标签的<img src="">?基本上我不想连接到互联网来拉图像,因为图像已经在屏幕上看到了。问题是我如何提取它?

回答

0

取决于到位缓存策略,以获取图像可能不会导致另一个连接请求下载的图片...但是,为了回答您的实际问题...

您可以采取“快照'的UIWebView,然后裁剪到有问题的图像的位置。检查这个问题了解如何执行此操作的详细信息:How Do I Take a Screen Shot of a UIView?

+0

我对缓存策略很感兴趣。你是什​​么意思? – adit

+0

如果加载NSURLRequest对象,则可以控制缓存策略:http://developer.apple.com/library/ios/ipad/#documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/Reference/Reference.html - 如果您阅读缓存策略部分,则可以根据需要选择正确的缓存策略部分。请注意,如果原始服务器说'不缓存',那么UIWebView将仍然需要重新下载图像。通常这对于静态内容来说不成问题。 – ikuramedia

+0

等等基本上如果我的UIWebView有一个图像(),它从URL中拉出它。我可以以某种方式获得给定的特定网址的NSData? – adit

0

此链接解释了一种通过从指定坐标中抓取图像的方法。 How to create a UIImage from the current graphics context?

然而,有可能是使用一些JavaScript使用的UIWebView的stringByEvaluatingJavaScriptFromString:方法来获得原始图像的更优雅的解决方案。但我不确定javascript是否有能力做到这一点