2012-01-19 75 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是否有能力做到這一點