2014-08-28 2 views

ответ

4

В ответ от функции flickr.photos.search вы можете указать ряд дополнительных параметров, которые известны как extras. Для каждого URL (в формате url_s,url_q ...) кроме того, что вы укажете, вы получите следующую информацию.

Пример JSON réponse

{ 
    ... 
    "photos": { 
     "page": 1, 
     "pages": "478", 
     "perpage": 2, 
     "total": "4775", 
     "photo": [ 
      { 
       ... 
       "longitude": 0, "accuracy": 0, "context": 0, "media": "photo", 
       "media_status": "ready", 
       "url_q": "https:\/\/farm4.staticflickr.com\/0000\/000_000_q.jpg", 
       "height_q": "150", 
       "width_q": "150", 
       ... 
      }, 
      { 
       ... 
       "longitude": 0, "accuracy": 0, "context": 0, "media": "photo", 
       "media_status": "ready", 
       "url_q": "https:\/\/farm4.staticflickr.com\/0000\/000_111_q.jpg", 
       "height_q": "150", 
       "width_q": "150", 
       ... 
      }, 
     ] }, 
     "stat": "ok" 
}; 

Если вы хотите URL для фотографии размером Q, вы будете иметь атрибуты height_q и width_q. Если width_q больше height_q Ориентация: пейзаж. Если это наоборот, ориентация фотографии портрет, в противном случае это идеальный квадрат.

В Javascript вы могли бы написать такую ​​функцию:

function determinePhotoOrientation(width, height) { 
    if (width > height) { 
     return 'landscape'; 
    } else if (width < height) { 
     return 'portrait'; 
    } 
    return 'square'; 
} 

Если вы используете другой язык, который вы можете сделать подобную функцию на этом языке, чтобы помочь вам определить ориентацию.

+1

Использование url_q (или url_s) не будет работать, так как они всегда будут возвращать квадратное изображение (т. Е. Возвращаемая ширина и высота будут одинаковыми). Вместо этого используйте любые другие размеры, например. _t. – moonhouse

Смежные вопросы