首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >facebook图api: offset_y offset_x

facebook图api: offset_y offset_x
EN

Stack Overflow用户
提问于 2017-11-11 12:58:29
回答 1查看 160关注 0票数 3

你好,我正在努力理解offset_y在facebook、图形API https://developers.facebook.com/docs/graph-api/reference/cover-photo/中的含义。

我试过理解这个相关的职位,但不能。y to pixel?

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

但是,实际的抵消量是-4px:

如能提供任何帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-21 23:11:48

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

百分比从0到100不等,是空间大小调整图像溢出偏移值的百分比。

例如,我有一个图像是720x480 px。封面照片空间是851x315 px,所以当照片调整大小以适应该空间时,它是851x567.33px。如果我将该图像拖到一半以下,当我将它定位为我的封面时,返回的offset_y将是50。这转化为50%的“剩菜”空间,不适合封面照片插槽。

“剩余物”垂直(y)空间为567.33 - 315 = 252.33 px。50%的空间是126.167。在这种情况下,我的top偏移量将是-126.167 px。

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

代码语言:javascript
复制
// 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);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47238129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档