Facebook 图形 API : offset_y offset_x

标签 facebook facebook-graph-api facebook-javascript-sdk

您好,我想了解 offset_y 在 facebooks graph API 中的含义 https://developers.facebook.com/docs/graph-api/reference/cover-photo/ .

我尝试理解这篇相关文章,但不能。 how to compute Facebook graph api cover offset_y to pixel?

例如这个事件。 https://www.facebook.com/events/1119146318216486/ 。调用图形 api 时生成 '"offset_y": 20'

enter image description here

但是,实际偏移量是-4px:enter image description here

任何帮助将不胜感激,谢谢。

最佳答案

offset_x 和 offset_y 的值是原始图像大小的百分比,而不是像素值。

百分比范围为 0 到 100,并且是调整大小后的图像的空间溢出偏移值的百分比。

例如,我有一个 720x480 像素的图像。封面照片空间为 851x315 像素,因此当调整照片大小以适应该空间时,其大小为 851x567.33 像素。如果我在将图像定位到封面时将该图像向下拖动一半,则返回的 offset_y 将为 50。这意味着 50% 的“剩余”空间不适合封面照片槽。

“剩余”垂直 (y) 空间将为 567.33 - 315 = 252.33 像素。该空间的 50% 是 126.167。在本例中,我的 top 偏移量将为 -126.167 px。

因此,offset_xoffset_y 是将调整大小的图像定位到 Facebook 上的照片空间所需的像素移动的百分比。

// These values retreived ahead of time (Graph API, etc.)
var offset_x = 0;
var offset_y = 50;
var fbCoverPhotoWidth = 851; // Known value, in pixels
var fbCoverPhotoHeight = 315; // Known value, in pixels

// Create an image from the cover photo URL returned by the Graph API
var img = new Image();
img.src = "https://scontent.xx.fbcdn.net/v/t1.0-0/p480x480/your-photo-url-here.jpg";

// Calculate the scaling ratio
var ratio = Math.max(fbCoverPhotoWidth / img.width, fbCoverPhotoHeight / img.height);

// Convert the offset percentages to pixel values
var offset_x_pixels = Math.ceil(((img.width * ratio) - fbCoverPhotoWidth) * (offset_x / 100));
var offset_y_pixels = Math.ceil(((img.height * ratio) - fbCoverPhotoHeight) * (offset_y / 100));

console.log(offset_x_pixels);
console.log(offset_y_pixels);

关于Facebook 图形 API : offset_y offset_x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47238129/

相关文章:

php - Facebook 广告 API PHP : Video upload using AdVideo class

iphone - 在Friend Wall发表期间Facebook返回com.facebook.sdk错误5

javascript - Facebook jQuery 使用注销 URL 和访问 token 注销

facebook-javascript-sdk - Facebook 应用程序链接和 JS SDK

error-handling - 如何显示从 Javascript SDK 返回的错误

facebook - Messenger 平台限制错误 (#613) 对该 api 的调用已超过速率限制

css - Facebook 点赞框 API : Unable to alter height

Facebook 图形 API + Facebook 页面

javascript - 如何调用 FB.api

facebook - 从常规嵌入代码确定 MP4 视频