你好互联网的人!
快速提问 - 任何人都知道如何从swift中的网站加载缩略图图像(在复制并粘贴某个链接时出现,并且您看到附带的小图像)?
我知道加载图片的代码是:
let url = NSURL(string: image.URL=)
let data = NSData(contentsOfURL: url!) //only loads if the entire webpage is just an image
imageURL.image = UIImage(data: data!)
但这对加载缩略图无法提供帮助。我相信网站使用元标记,但我不是100%肯定。
提前谢谢!
答案 0 :(得分:1)
这里有几件事......
当您在某处复制并粘贴链接时会出现,并且您会看到随附的小图像
用
某处
我会假设你的意思是像Facebook或Twitter这样的服务。
要回答您的问题,请在元标记中声明网站图像的网址。不同的服务使用不同的标签
Facebook使用
<meta property="og:image" content="http://example.com/image.jpg" />
Twitter使用
<meta name="twitter:image" content="http://www.example.com/image.jpg">
所以这些就是这些网址的来源。
现在,你称之为&#39;缩略图&#39;通过调整上面URL中加载的图像来确定您正在使用的平台创建。
因此,要回答您的问题,没有神奇的公式可以从网站加载缩略图。如果您想要从网站内容中获得一个小缩略图图像,则必须首先抓取&#39;元标记寻找一个给你一个完整大小的图像。然后你必须加载它然后你将不得不自己调整大小。
至于调整大小的代码,NSHipster为您提供全方位的选择http://nshipster.com/image-resizing/
例如:
let size = CGSizeApplyAffineTransform(image.size, CGAffineTransformMakeScale(0.5, 0.5))
let hasAlpha = false
let scale: CGFloat = 0.0 // Automatically use scale factor of main screen
UIGraphicsBeginImageContextWithOptions(size, !hasAlpha, scale)
image.drawInRect(CGRect(origin: CGPointZero, size: size))
let scaledImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()