快速创建网页缩略图

Posted

技术标签:

【中文标题】快速创建网页缩略图【英文标题】:Creating webpages thumbnails in swift 【发布时间】:2019-03-19 01:37:27 【问题描述】:

我正在尝试在我的应用上编写一个“网页选择器”,使用精美的轮播来显示网页缩略图。

但是,我不想在轮播中将网页缩略图显示为 webView,因为我可以同时获取大量 (20-30) 网页,并且加载所有这些网页会导致很多延迟.

因此,我决定使用网页的屏幕截图并使用这些图像来填充我的轮播,从而使轮播动画更加流畅。

这是我的问题: 我想知道是否有任何方法可以截取网页的屏幕截图(不显示在应用程序屏幕上)并将图像保存到我可以用来填充轮播的列表中。

我知道this question,但这是一个相当老的帖子,所以我想知道是否有其他方法可以做到这一点。另外,我尝试实施建议的解决方案,但没有奏效。

【问题讨论】:

【参考方案1】:

您可以在视图控制器后面创建一个 WKWebView(因此不可见)并限制为您想要的大小。页面加载完成后,在UIGraphicsImageRender 中使用drawHierarchy(in:afterScreenUpdates:) 拍摄快照,并将生成的图像保存为缩略图。

【讨论】:

谢谢!我试图这样做,但所有的屏幕截图都是黑色的......我认为这是因为当我截取屏幕截图时,网页尚未加载。 设置你的 webView.navigationDelegate 并实现并等待 WKNavigationDelegate 中的didFinish 方法developer.apple.com/documentation/webkit/wknavigationdelegate/…

以上是关于快速创建网页缩略图的主要内容,如果未能解决你的问题,请参考以下文章

如何统一创建缩略图

在swift中创建网页缩略图

PHP 使用PHP快速创建图像缩略图

如何在html中获取网页链接的小缩略图

微信图文链接 —— 分享网页文章到微信时如何自定义缩略图链接标题和摘要

如何从嵌入式视频中获取缩略图?