我想以编程方式获取 facebook 个人资料图片,然后将其作为纹理加载到我们的引擎中。由于我们的引擎只支持几种图片格式(bmp、tga、png),我想从 facebook 获取 png 格式的图片。
现在我看到头像有两种格式,未上传图片的为gif,已上传的为jpg。
提前致谢。
我想以编程方式获取 facebook 个人资料图片,然后将其作为纹理加载到我们的引擎中。由于我们的引擎只支持几种图片格式(bmp、tga、png),我想从 facebook 获取 png 格式的图片。
现在我看到头像有两种格式,未上传图片的为gif,已上传的为jpg。
提前致谢。
你有你的答案 - Facebook 只通过 API 返回 GIF 或 JPG 图像 - 如果你不能存储 JPG,你需要将它们转换为你自己的代码
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”替换为您自己帐户的云名称
Facebook 仅返回 jpeg 格式的图像。如果您的引擎仅支持 bmp、tga 和 png,那么最好的做法是在您请求时以编程方式将 jpg 转换为 png。
使用图形 api 访问图像:
下面的回复有更多细节。