如何以png格式获取facebook个人资料图片?

时间:2012-07-05 09:46:24

标签: facebook

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

现在我看到有两种格式的个人资料图片,gif适用于那些没有上传图片和jpg的人。

提前致谢。

3 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:2)

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

使用Cloudinary,您可以获取Facebook个人资料图片,对您的偏好进行任何图像转换,并转换为所有主要图像文件类型(包括PNG)的任何格式。 通过快速CDN轻松实现转换,并通过快速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”替换为您自己帐户的云端名称

答案 2 :(得分:1)

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

使用图形api访问图像:

  1. https://graph.facebook.com/nike/picture?type=large(Nike facebook页面图片)
  2. 使用imagecreatefromjpeg(对于php)或等效的
  3. 将图像转换为png

    以下回复有更多详情。

    Convert jpg image to gif, png & bmp format using PHP