【问题标题】:create a UIImage from points从点创建 UIImage
【发布时间】:2012-01-19 19:15:04
【问题描述】:

我有一个UIWebView,其中包含图像,假设我有图像的 x y 位置、宽度和高度的点/坐标。我可以通过在UIWebView 中指定图像的位置来创建图像吗?如果是怎么办?

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

【问题讨论】:

    标签: iphone objective-c ios ipad


    【解决方案1】:

    根据现有的缓存策略,检索图像的请求可能不会导致另一个下载图像的连接...但是要回答您的实际问题...

    您可以拍摄 UIWebView 的“快照”,然后裁剪到相关图像的位置。查看此问题以了解有关如何执行此操作的详细信息:How Do I Take a Screen Shot of a UIView?

    【讨论】:

    • 我对缓存策略感兴趣。你这是什么意思?
    • 如果您加载一个 NSURLRequest 对象,您可以控制缓存策略:developer.apple.com/library/ios/ipad/#documentation/Cocoa/… - 如果您阅读了缓存策略部分,您可以根据需要选择正确的一个。请注意,如果原始服务器说“不缓存”,那么 UIWebView 仍然需要重新下载图像。通常这对于静态内容来说不是问题。
    • 如果我的 UIWebView 中有一个图像 () 可以从 URL 中提取它,那么基本上就等一下。我可以以某种方式获取给定特定 URL 的 NSData?
    • 是的,NSURLConnection 将使用来自目标 URL 的内容加载一个 NSData。如果该内容已在本地缓存,则它应该从缓存中提取数据,而不是启动新连接。如果您在 NSURLRequest 中指定NSURLRequestReturnCacheDataDontLoad,那么您可以测试这是否适合您(如果缓存中没有内容,则加载将失败)
    【解决方案2】:

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

    但是可能有一个更优雅的解决方案,即通过使用 UIWebview 的 stringByEvaluatingJavaScriptFromString: 方法使用一些 javascript 来获取原始图像。但我不确定javascript是否能够做到这一点

    【讨论】:

      猜你喜欢
      • 2012-02-24
      • 2012-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多