2

我想以编程方式获取 facebook 个人资料图片,然后将其作为纹理加载到我们的引擎中。由于我们的引擎只支持几种图片格式(bmp、tga、png),我想从 facebook 获取 png 格式的图片。

现在我看到头像有两种格式,未上传图片的为gif,已上传的为jpg。

提前致谢。

4

3 回答 3

6

你有你的答案 - Facebook 只通过 API 返回 GIF 或 JPG 图像 - 如果你不能存储 JPG,你需要将它们转换为你自己的代码

于 2012-07-05T10:35:41.350 回答
2

Facebook 确实以 JPG 格式返回个人资料图片。但是,您可以使用图像处理解决方案来动态转换为不同的格式。例如,您可以使用 Cloudinary - http://cloudinary.com(免责声明 - 我在 Cloudinary 工作)来做到这一点。

使用 Cloudinary,您可以获取 Facebook 个人资料图片,根据您的喜好进行任何图像转换,并转换为所有主要图像文件类型(包括 PNG)的任何格式。转换很容易进行,即时进行,并通过快速 CDN 交付。用户更改他/她的个人资料照片后,图像甚至会刷新

这是 Facebook 个人资料图片的示例。这是原文:

https://graph.facebook.com/billclinton/picture?type=large

这是同一张图片,从 facebook 实时获取,调整为 80px 宽度和 120px 高度,填充裁剪,并将其转换为 PNG 文件: https ://res.cloudinary.com/demo/image/facebook/ w_80,h_120,c_fill/billclinton.png

您需要将“demo”替换为您自己帐户的云名称

于 2013-06-11T08:24:32.077 回答
1

Facebook 仅返回 jpeg 格式的图像。如果您的引擎仅支持 bmp、tga 和 png,那么最好的做法是在您请求时以编程方式将 jpg 转换为 png。

使用图形 api 访问图像:

  1. https://graph.facebook.com/nike/picture?type=large(耐克 Facebook 页面图片)
  2. 使用 imagecreatefromjpeg(用于 php)或等效工具将图像转换为 png

下面的回复有更多细节。

使用 PHP 将 jpg 图像转换为 gif、png 和 bmp 格式

于 2012-07-05T10:47:18.833 回答