在swift中加载网站缩略图?

时间:2015-03-19 13:47:34

标签: swift

你好互联网的人!

快速提问 - 任何人都知道如何从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%肯定。

提前谢谢!

1 个答案:

答案 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()