这是https://stackoverflow.com/a/21074207/3269910
的连续问题解决方案似乎很好c0.0.851.315
但是c0.0值指向图像的0x0位置
我想要的是具有offset_y的图像。如果是offset_y:20,
即,我想要相同尺寸和部分图像,我在api通话中的页面时间轴中看到的内容。
是否可以这样做?
注意:如果我将零值更改为c0.0,那么它指向像素,但offset_y是%我认为。
感谢您的帮助。
答案 0 :(得分:1)
我与Facebook平台小组进行了讨论;
他们尚未准备好向我们分享手动计算。
是的,可以使用API offset_y值手动计算c0.XXXX的值。
这是我的PHP代码。
$fb_page_cover_json = json_decode( file_get_contents( 'https://graph.facebook.com/11111111?fields=cover'));
$fb_cover_image_url = $fb_page_cover_json->cover->source;
$image_info = getimagesize($fb_cover_image_url);
$image_width = $image_info[0];
$image_height = $image_info[1];
echo getTop($fb_page_cover_json->cover->offset_y,$image_width,$image_height);
function getTop($offset_y,$image_width,$image_height) {
$cover_w = 851;
$cover_h = 315;
$img_w = $image_width;
$img_h = $image_height;
$real_img_h = ($cover_w * $img_h / $img_w) - $cover_h;
$result = ($real_img_h * $offset_y / 100 * -1);
return floor($result);
}
方法getTop将返回c0.XXX值。
希望这对某人有所帮助。