Mar*_* P. 6 facebook crop thumbnails facebook-fql facebook-graph-api
我最近注意到,在新的时间轴配置文件的布局中,Facebook在时间轴和好友列表中广泛使用用户配置文件图像的"正常"版本(读取:更大).众所周知,通过查询图表来检索此图像:
https://graph.facebook.com/[userid]/picture?type=normal
Run Code Online (Sandbox Code Playgroud)
当然,这个图像不是保证的方形裁剪.但是,Facebook使用元素级CSS手动定位和裁剪(参见下图).定位很有趣,因为它似乎是在页面渲染之前生成的.
看到:

请注意如何应用元素级CSS样式.在这种情况下,它是一个顶部偏移:
style="top:-50%"
Run Code Online (Sandbox Code Playgroud)
我假设这是从某个地方(图形,数据库等)拉动任意偏移/定位值,而不是使用某些客户端JS进行面部检测,因为设置新的Facebook个人资料图片的过程(通常)涉及手动裁剪你的脸.亲自看看:更改您的个人资料图片,如果比例不是平方,则需要一个中间的手动裁剪步骤.
此外,此图像将张贴到/photo.php,其中包含x,y,width,height和其他各种参数.我知道其中一些用于生成50x50方形裁剪,但它也必须存储在其他地方,对吗?
我的问题是Facebook目前是否公开了一种检索这些偏移值的方法,因此我们可以准确地对较大的轮廓图片进行方形裁剪,而不必依赖面部识别或客户端处理来保证主体居中.
Mar*_* P. 11
在这里回答我自己的问题.查看http://developers.facebook.com/docs/reference/fql/profile/我注意到可以通过对配置文件表的FQL查询获得以下内容:
pic_crop| string
要查询的对象的最大尺寸方形轮廓图片的URL.图像宽度至少为100像素.此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>
Run Code Online (Sandbox Code Playgroud)
Voila:图像大小和裁剪定位.唯一需要注意的是,最后一点是大胆的.该URL可能为空.
| 归档时间: |
|
| 查看次数: |
2961 次 |
| 最近记录: |