当与头像相关时,查询 pic_crop 返回的坐标是什么意思。我试过解决这个问题,但无法弄清楚!
请帮忙!
left、top、right 和 bottom 的值是小数,例如 left 0.20115。0.20115 是什么意思?如果您查看 facebook 个人资料的源代码,您会看到 facebook 使用百分比来抵消个人资料照片。0.20115 如何转换为 facebook 的 style="left:-23.13%;" 来源
当与头像相关时,查询 pic_crop 返回的坐标是什么意思。我试过解决这个问题,但无法弄清楚!
请帮忙!
left、top、right 和 bottom 的值是小数,例如 left 0.20115。0.20115 是什么意思?如果您查看 facebook 个人资料的源代码,您会看到 facebook 使用百分比来抵消个人资料照片。0.20115 如何转换为 facebook 的 style="left:-23.13%;" 来源
从我朋友的个人资料中看几个例子,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
或多或少地根据个人资料所有者的意图进行裁剪。
https://developers.facebook.com/docs/reference/fql/profile/:
pic_crop:一个对象,包含: uri:被查询对象的最大方形头像的 URL。width, height:这张图片的像素尺寸。左、上、右、下:用户为此头像选择裁剪的像素坐标。
现在那可能还不清楚呢?