Рассчитать смещение обложки facebook y

Я получаю фотографию обложки пользователя с помощью Facebook SDK. У меня есть путь к img и смещение y.

  "source": "http://a5.sphotos.ak.fbcdn.net/hphotos-ak-ash3/526114_459046674110601_992101492_n.jpg",
  "offset_y": 19

Div, в который я поместил изображение, имеет высоту 300 пикселей; и правое фоновое положение center -146px;. Как рассчитать top value, когда у меня 300 и 19?


person Marian Petrov    schedule 04.08.2012    source источник
comment
Мне действительно нужна помощь для этого тоже. У меня такая же проблема. У меня есть offset_y 47 из FACEBOOK и приблизительно top -223, чтобы поместить одно и то же изображение внутри div. Высота div 200px.   -  person FooBar    schedule 10.10.2013


Ответы (1)


offset_y — это пропорция пространства между верхней и нижней областями обрезанного изображения.

Таким образом, фактическое смещение пикселей должно быть таким:

y = (offset_y / 100) * (upperArea_of_cropImage.height + lowerArea_of_cropImage.height)

Отредактировано:

// where y is the actual pixels from the upper left corner of the real image to
// upper left corner of the cropped image

        -- ================================  --
    y {   ||                              ||    } a
        --||..............................|| --
          ||                              ||
          ||                              ||
          ||            Cover             ||
          ||                              ||
          ||..............................|| --
          ||                              ||    } b
          ||                              ||   |
           ================================  --

     offset_y that Facebook send to you actually was a/b not y
person myLifeasdog    schedule 30.08.2012
comment
Не могли бы вы объяснить, как использовать смещение? Я не уверен, что понимаю, как знание пропорций между областями поможет мне найти верхнее значение Y обрезанного изображения. Где взять верхнюю/нижнюю область изображения_кропа? Благодарю вас! - person Gerardo Contijoch; 29.01.2013
comment
Мне действительно нужна помощь для этого тоже. У меня такая же проблема. У меня есть offset_y 47 из FACEBOOK и приблизительно top -223, чтобы поместить одно и то же изображение внутри div. Высота div 200px. - person FooBar; 10.10.2013
comment
Я отредактировал свой ответ. (Возможно, это слишком поздно, и Facebook, возможно, изменил свои API, но на всякий случай.) - person myLifeasdog; 10.06.2014