【发布时间】:2014-07-17 20:12:18
【问题描述】:
我一直在尝试从 Facebook 获取一些活动封面图片并将其显示在我的网站上。现在,人们可以上传各种尺寸和纵横比的图像,Facebook 会调整其大小并允许他们将图像置于 784*295 帧的中心。如果您向 Facebook API 查询封面图片,您会得到以下结果:
"cover": {
"cover_id": 300822420082720,
"offset_x": 0,
"offset_y": 73,
"source": "https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/10273881_300822420082715_6723919589261017620_n.jpg"
}
“来源”是指向原始、未调整大小/未居中图像的链接。所以我需要调整它的大小/剪切它,使它看起来与 Facebook 活动页面完全一样。
所以问题是 - 如何应用 offset_x/offset_y 来获得与 784*295 Facebook 框架中的图像相同的图像?
我找到了以下解决方案,没有一个是正确的:
- offset_y - The vertical offset in pixels of the photo from the bottom.
- The offset that facebook sends is in percentage
- pixel_offset_y = (image_height-frame_height) * offset_y / 100
- offset_y is a proportion of space between upper area and lower area of cropped image.
我已经在几张封面图片上测试了所有这些以及更多内容,其中一张如下图所示。下图在调整大小后是 784*522(就像 Facebook 一样),图像帧始终是 784*295,我得到的 offset_y 是 73,到图片顶部的距离(在 Facebook 上测量)是 193px。我无法得到的是如何使用 offset_y (73) 来获取从顶部偏移的像素数 (193)。
【问题讨论】:
标签: facebook facebook-graph-api