Предоставляет ли Facebook смещение для обрезки увеличенной версии эскиза профиля пользователя?

Недавно я заметил, что в макетах для нового профиля временной шкалы Facebook использует «обычную» версию (читай: больше) изображение профиля пользователя широко как на временной шкале, так и в списке друзей. Как мы все знаем, это изображение получается путем запроса графика с помощью:

https://graph.facebook.com/[userid]/picture?type=normal

Конечно, это изображение не является гарантированно квадратным кадрированием. Однако Facebook использует CSS на уровне элементов для позиционирования и обрезки вручную (см. Изображение ниже). Позиционирование интересно тем, что оно создается до рендеринга страницы.

См .:

http://imgur.com/lapbO

Обратите внимание, как применяется стиль CSS на уровне элементов. В данном случае это верхнее смещение:

style="top:-50%"

Я предполагаю, что это извлекает произвольное значение смещения / позиционирования откуда-то (график, база данных и т. Д.), А не использует некоторый клиентский JS для обнаружения лиц, поскольку процесс установки нового изображения профиля Facebook (обычно) включает вручную обрезку вашего лица. Убедитесь в этом сами: измените изображение своего профиля, и если пропорции не квадратные, есть промежуточный этап ручной обрезки.

Кроме того, это изображение размещается в /photo.php с переданными x, y, шириной, высотой и другими различными параметрами.Я знаю, что кое-что из этого используется для создания квадрата 50x50, но его также нужно хранить где-то еще, правильно?

Мой вопрос заключается в том, предоставляет ли Facebook в настоящее время метод для получения этих значений смещения, чтобы мы могли точно возвести в квадрат -обрезать большие изображения профиля без необходимости полагаться на распознавание лиц или обработку на стороне клиента, чтобы гарантировать, что объект находится в центре.

6
задан Emre Erkan 23 December 2011 в 08:12
поделиться