Facebook是否公开了裁剪更大版本用户的偏移定位';s配置文件缩略图?

Facebook是否公开了裁剪更大版本用户的偏移定位';s配置文件缩略图?,facebook,facebook-graph-api,facebook-fql,thumbnails,crop,Facebook,Facebook Graph Api,Facebook Fql,Thumbnails,Crop,我最近注意到,在新的时间线配置文件的布局中,Facebook在时间线和好友列表中广泛使用用户配置文件图像的“普通”版本(阅读:更大)。正如我们所知,此图像是通过以下方式查询图形来检索的: https://graph.facebook.com/[userid]/picture?type=normal 当然,这张图片不能保证是方形的。然而,Facebook使用元素级CSS手动定位和裁剪它(见下图)。定位很有趣,因为它似乎是在页面呈现之前生成的 见: 注意如何应用元素级CSS样式。在这种情况下,它

我最近注意到,在新的时间线配置文件的布局中,Facebook在时间线和好友列表中广泛使用用户配置文件图像的“普通”版本(阅读:更大)。正如我们所知,此图像是通过以下方式查询图形来检索的:

https://graph.facebook.com/[userid]/picture?type=normal
当然,这张图片不能保证是方形的。然而,Facebook使用元素级CSS手动定位和裁剪它(见下图)。定位很有趣,因为它似乎是在页面呈现之前生成的

见:

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

style="top:-50%"
我假设这是从某处(图形、db等)提取任意偏移/定位值,而不是使用客户端JS进行面部检测,因为设置新Facebook个人资料图片的过程(通常)涉及手动裁剪您的面部。亲自查看:更改您的个人资料图片,如果比例不是方形,则有一个中间的手动裁剪步骤

此外,此图像通过传递的x、y、宽度、高度和其他各种参数发布到/photo.php。我知道其中一些用于生成50x50平方米的作物,但它也必须存储在其他地方,对吗

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

向夏奇拉问好


如您所见,最小的是裁剪版本(手动+人脸识别),很容易计算中间图像中的相对位置,当您有X&Y坐标和W&H时,他们可能会将其存储在数据库中,并计算百分比,服务器端。到目前为止,我还没有看到他们提供这样的服务。您最终可以仅使用这些图像来计算,但这将花费您的成本。将背景图像设置为
center
,希望一切顺利:)

在这里回答我自己的问题。 通过查看,我注意到通过对概要文件表的FQL查询可以获得以下内容:

picu-crop

指向对象的最大大小的方形配置文件图片的URL 正在查询。图像的宽度至少为100px此URL可能是 空白。

我强调最后一点

响应如下所示:

<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>

https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/xxxxxx_xxxxxxxx_xxxxxxxxxx_n.jpg
180
173
0.08468
0.06897
0.91532
0.93103

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

我也面临同样的问题。pic_crop as for documentation包含用户为此配置文件图片选择的裁剪的像素坐标。 这意味着,如果用户没有选择160x160作物,您将获得纵向或横向。 我从测试中收到的数据证实了这一点:

{
  "uri": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/xxxxxxxxx_n.jpg",
  "width": 180,
  "height": 286,
  "left": 0,
  "top": 0,
  "right": 1,
  "bottom": 1
}

从这些信息中,我无法理解如何使160x160正确的作物位于面中心

这在Graph API中也可用: