facebook - Facebook 是否公开裁剪用户个人资料缩略图的较大版本的偏移定位?

标签 facebook facebook-graph-api facebook-fql thumbnails crop

我最近注意到,在新时间线个人资料的布局中,Facebook 在时间线和好友列表中广泛使用用户个人资料图像的“正常”版本(阅读:更大)。众所周知,这张图片是通过查询图来检索的:

https://graph.facebook.com/[userid]/picture?type=normal

当然,这张图片不能保证是方形的。然而,Facebook 使用元素级 CSS 手动定位和裁剪它(见下图)。定位很有趣,因为它似乎是在页面呈现之前生成的。

参见:

http://imgur.com/lapbO

注意如何应用元素级 CSS 样式。在这种情况下,它是一个顶部偏移量:

style="top:-50%"

我假设这是从某个地方(图形、数据库等)提取任意偏移/定位值,而不是使用某些客户端 JS 进行面部检测,因为设置新 Facebook 配置文件的过程图片(通常)涉及手动裁剪你的脸。亲眼看看:更改您的个人资料图片,如果比例不是正方形,则有一个中间的手动裁剪步骤。

此外,这张图片被发布到/photo.php,并传递了 x、y、宽度、高度和其他各种参数。我知道其中一些用于生成 50x50 方形裁剪,但它也必须存储在其他地方,对吗?

我的问题是 Facebook 目前是否公开了一种方法来检索这些偏移值,以便我们可以准确地方形裁剪较大的个人资料图片,而无需依赖面部识别或客户端处理来保证主题居中。

最佳答案

在这里回答我自己的问题。 看着http://developers.facebook.com/docs/reference/fql/profile/我注意到可以通过对配置文件表的 FQL 查询获得以下信息:

pic_crop|字符串

The URL to the largest-sized square profile picture for the object being queried. The image is at least 100px in width. This URL may be blank.

我强调最后一点。

响应看起来像这样:

<fql_query_response list="true">
  <profile>
    <pic_crop>
      <uri>https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/xxxxxx_xxxxxxxx_xxxxxxxxxx_n.jpg</uri>
      <width>180</width>
      <height>173</height>
      <left>0.08468</left>
      <top>0.06897</top>
      <right>0.91532</right>
      <bottom>0.93103</bottom>
    </pic_crop>
  </profile>
</fql_query_response>

瞧:图像大小和裁剪位置。当然,唯一需要注意的是最后一点用粗体显示。 URL 可能为空。

关于facebook - Facebook 是否公开裁剪用户个人资料缩略图的较大版本的偏移定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8419693/

相关文章:

Facebook - “IN” 子句中的最大参数数量?

java - Android Facebook SDK 授权后访问 token 无效

facebook - 套接字策略文件的端口843-用户的端口多久关闭一次?

ios - com.facebook.sdk.login Code=308 "(null) on iOS10

spring - 为什么 Spring Social facebook -2.0.3 使用已弃用的图 api 版本 2.5(已弃用)

类似于 friend 签到的facebook fql查询

facebook - 如何使 DOM 元素即使在重新加载页面时也始终可见?

ios - Facebook AppLinks 在 iOS 上究竟如何工作?

facebook-graph-api - 什么{expires_at : 0} mean is debug_token response?

ios - 如何使用 Graph API 在 iPhone 中获取在线 Facebook 好友?