我正在显示可通过WKWebView中的URL访问的远程文件。但是,在显示实际文件的详细信息页面之前,我想显示文件的缩略图。
我收集到,一旦加载为this answer suggests,您就可以从Web视图创建缩略图。
UIGraphicsBeginImageContext(yourWebView.bounds.size);
[yourWebView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *resultImageView = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
您甚至可以将webview定位在屏幕外,以使用户看不到它。
但是,我真的很想在后台创建缩略图,而无需在屏幕外创建WebView并在其中加载图像。
我还看到了从本地URL创建缩略图的代码,例如以下from here:
func loadThumbnailFromDiskForDocument (documentFileName: String) -> UIImage {
do {
let url = currentDocumentUrl.appendingPathComponent(documentFileName)
let thumbnailDictionary = try url.promisedItemResourceValues(forKeys: [URLResourceKey.thumbnailDictionaryKey]).thumbnailDictionary
guard let image = thumbnailDictionary? [URLThumbnailDictionaryItem.NSThumbnail1024x1024SizeKey] else {
logger.error("Unable to load thumbnail for the specified URL - \(url)")
return UIImage(named: "placeholder")!
}
return image
} catch {
return UIImage(named: "placeholder")!
}
}
有人知道在Swift中从远程URL创建缩略图的方法吗?