0

当与头像相关时,查询 pic_crop 返回的坐标是什么意思。我试过解决这个问题,但无法弄清楚!

请帮忙!

left、top、right 和 bottom 的值是小数,例如 left 0.20115。0.20115 是什么意思?如果您查看 facebook 个人资料的源代码,您会看到 facebook 使用百分比来抵消个人资料照片。0.20115 如何转换为 facebook 的 style="left:-23.13%;" 来源

4

2 回答 2

4

从我朋友的个人资料中看几个例子,pic_crop左、右、上、下的数字似乎是图片总宽度的百分比。例如,我的个人资料图片返回以下值:

    "width": 180, 
    "height": 161, 
    "left": 0.11466, 
    "top": 0.06897, 
    "right": 0.88534, 
    "bottom": 0.93103

检查 Facebook 时间线,个人资料图片显示为 160 像素的正方形。Facebook 不会裁剪照片以显示它,而是将其缩放以适合 160 像素方形窗口后面的裁剪区域,然后将照片放置在该窗口下方以显示裁剪后的照片。

top: 0.6897 和 bottom: 0.93103 的“top”和“bottom”值似乎等同于“没有垂直裁剪”。我可以在我的照片和其他几位朋友的照片上看到这一点。因此,0.93193 - 0.06897 = 0.86206 表示使用了照片高度的 100%。(当没有水平裁剪时,相同的值适用于左右。)

我的照片上有一个水平裁剪。对于我照片上的左右数字,公式似乎是:(右-左)÷(0.93103-0.06897)。对于我的照片,这可以达到 0.89400。所以,160 × 180 / 161 = 179px × 0.89400 = 160px。我在其他一些朋友的照片上试过这个,这很有效。用“top - bottom”替换“right - left”似乎也适用于垂直裁剪的照片。

在我的 Facebook 时间线上,我的封面照片 img 标签的样式为left:-5.93%;. 我有相同数量的左右裁剪,所以这应该是一边 9.5px。9.5 / 160 = 5.93%。

我还没有解开不对称作物的缩放比例。

当 Facebook 让您像这样轻松时,一定会喜欢它!

更新

只需阅读今晚的开发者博客文章,还有另一种获取裁剪的个人资料照片的方法:profile_pic表格。

SELECT url, real_width, real_height FROM profile_pic
WHERE id = me()
  AND width=160
  AND height=160

返回url的个人资料照片根据您指定的比例缩放,width并且height或多或少地根据个人资料所有者的意图进行裁剪。

于 2012-08-22T15:59:47.457 回答
-1

https://developers.facebook.com/docs/reference/fql/profile/

pic_crop:一个对象,包含: uri:被查询对象的最大方形头像的 URL。width, height:这张图片的像素尺寸。左、上、右、下:用户为此头像选择裁剪的像素坐标。

现在那可能还不清楚呢?

于 2012-08-20T12:20:32.483 回答