kne*_*los 5 facebook facebook-graph-api
我一直试图从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"
}
Run Code Online (Sandbox Code Playgroud)
"源"是指原始未调整大小/非居中图像的链接.所以我需要调整它/剪切它以使它看起来与Facebook事件页面完全相同.
所以问题是 - 如何应用offset_x/offset_y来获得与784*295 Facebook框架中相同的图像?
我找到了以下解决方案,其中没有一个是正确的:
我已经测试了所有这些,以及更多,在几张封面图片上,其中一张如下图所示.调整大小时(如Facebook一样)下面的图像是784*522,图像帧总是784*295,我得到的offset_y是73,并且距图片顶部的距离(在Facebook上测量)是193px.我不能得到的是如何使用offset_y(73)来获得从顶部(193)偏移的像素数.
所以,最后,我无法在任何地方找到这个问题的答案,但我能够使用实验方法达到令人满意的精度,即创建自己的事件并通过将它们移动到一个位置来测试几个封面页。一次几个像素。为了获得与 Facebook 中使用的帧相同的帧,计算需要应用于 FB 封面图像的偏移像素数的公式如下:
$pixelsFromAbove = (($imageHeight - $frameHeight) / 86 ) * $offset_y;
$pixelsFromLeft = (($imageWidth - $frameWidth) / 86 ) * $offset_y;
Run Code Online (Sandbox Code Playgroud)
框架高度和宽度分别为 295 和 784。“86”是通过实验获得的神奇数字。
该解决方案适用于 2.1 版本的 FB API。
| 归档时间: |
|
| 查看次数: |
1154 次 |
| 最近记录: |