размеры фотографий доступны через Graph API / FQL и отображаются в пользовательском средстве просмотра - PullRequest
0 голосов
/ 20 февраля 2012

Я создаю просмотрщик фотографий для фотографий fb в приложении FB canvas.Поэтому я забочусь о размере фотографии.Кажется, что все загруженные фотографии в FB доступны в разных размерах.Я вижу в API API (http://developers.facebook.com/docs/reference/api/photo/) термин в свойстве source: «максимальная ширина или высота 720px», но также свойство width и height. Также у меня есть несколько размеров фотографий в fql photo (http://developers.facebook.com/docs/reference/fql/photo/).

  1. Размеры фотографий, доступные в одной категории (src_small, normal, src_big), всегда одинаковы или могут отличаться? Полагаю, они могут различаться.
  2. Какие форматы поддерживает FB?small normal и big
  3. Как концептуально работать с различными размерами в средстве просмотра? Я полагаю, вам нужно исправить область просмотра, например, 3 (высота): 4 (ширина). Теперь измените размер изображения внутри средства просмотрамаксимизируя высоту или ширину.

Я направляюсь в правильном направлении?

1 Ответ

2 голосов
/ 21 февраля 2012

Не уверен, если вы заметили, но в Graph API есть также поле «images», которое содержит «4 различных сохраненных представления фотографии», аналогичные FQL.

"images": [
  {
     "width": 720,
     "height": 483,
     "source": "http://a7.sphotos.ak.fbcdn.net/hphotos-ak-ash2/168119_10150146071831729_20531316728_7844072_5116892_n.jpg"
  },
  {
     "width": 180,
     "height": 120,
     "source": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash2/168119_10150146071831729_20531316728_7844072_5116892_a.jpg"
  },
  {
     "width": 130,
     "height": 87,
     "source": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash2/168119_10150146071831729_20531316728_7844072_5116892_s.jpg"
  },
  {
     "width": 75,
     "height": 50,
     "source": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash2/168119_10150146071831729_20531316728_7844072_5116892_t.jpg"
  }
],
  • Обратите внимание, что исходное изображение не имеет ширину 720 пикселей каждый раз. Он не масштабируется, если вы загрузите уменьшенное изображение.

С первого взгляда кажется, что хранимые изображения имеют фиксированную ширину для каждого представления. 180px для большого, 130px для среднего и 75px для маленького размера. Также есть оригинальное изображение, максимальная ширина которого составляет 720 пикселей.

FB поддерживает только формат JPEG.

Концептуально у вас должно быть окно с фиксированной шириной для размера изображения, которое вы хотите показать (предположим, что вы показываете самое большое [большое] изображение пользователю, используя изображение шириной 180px. Высота тогда <= 180px. Можно создать поле 180x180 и закрасить фон черным цветом, если высота изображения меньше. </p>

ИЛИ делайте это, как это делает Facebook. Возьмите оригинальное изображение и поместите в окно как можно больше. Они используют всплывающее окно, чтобы они могли использовать максимальное количество места для изображения. Используя действующий CSS, будет легко играть с изображениями разных размеров.

Так что да, вы идете в правильном направлении, просто проанализируйте API Facebook и извлеките из них максимум пользы.

Если у вас возникли проблемы с написанием необходимого CSS или составлением FQL-запроса, не стесняйтесь задавать другой вопрос:)

Небольшое чтение об изменении размера изображения CSS

...