2011-04-26 20 views
22

ग्राफ एपीआई का उपयोग करके मैं छोटी, बड़ी, मध्यम चित्र प्राप्त कर सकता हूं। या मैं छोटी स्क्वायर तस्वीर प्राप्त कर सकता हूं।वर्ग फेसबुक चित्र

लेकिन मुझे बड़ी स्क्वायर तस्वीर कैसे मिल सकती है? क्या कोई ऐसी सेवा है जिसका मैं उपयोग कर सकता हूं?

उत्तर

3

You can specify the picture size you want with the type argument, which should be one of square (50x50), small (50 pixels wide, variable height), and large (about 200 pixels wide, variable height).

Graph API Reference से। वे केवल तीन आकार उपलब्ध हैं। आप 50x50 छवि के एक बड़े संस्करण का उपयोग कर सकते हैं लेकिन यह स्पष्ट रूप से dithered देखेंगे।

+0

धन्यवाद, जिमी। लेकिन अगर मुझे 180px/180px प्रोफाइल चित्र की आवश्यकता है तो क्या होगा? – Sergey

+0

जैसा मैंने कहा, वे आपके विकल्प हैं। इसे 180x180 बनाने का एकमात्र तरीका या तो बड़ी छवि को स्वयं फसल कर रहा है, या सीधे HTML विशेषता का उपयोग करके 50x50 छवि को बढ़ा रहा है। –

+1

+1, @ सर्गी लंबी कहानी छोटी ... फेसबुक आपका होमवर्क नहीं करेगा! :-) – ifaour

4

आधिकारिक तौर पर ऐसा करने का कोई तरीका नहीं है, यहां एक मूर्खतापूर्ण हैक है। निम्नलिखित कोड यह सुनिश्चित करेगा कि छवि 120 पिक्सल से अधिक व्यापक/लम्बाई नहीं है। अगर ऐसा है, तो छवि तत्व बाहर अतिप्रवाह होगा:

<div style="width: 120px; height: 120px; overflow: hidden; display: inline-block;"> 
    <img src="{$image}" align="absmiddle" width=120 style="min-width: 120px; min-height: 120px;" /> 
</div> 
+6

यह समाधान छवि के मूल पहलू अनुपात को बनाए रखता है। – jhoff

6

अजीब तरह से पर्याप्त, फेसबुक अपने आप में एक बड़ा वर्ग छवि का उपयोग नहीं करता है, भले ही वे नई समय रेखा चित्रों पर एक बड़ा वर्ग प्रोफ़ाइल चित्र दिखाते हैं। यदि आप नज़दीक दिखते हैं तो वे एक बड़ी आयताकार छवि लेते हैं और इसे HTML तत्व के अंदर स्थानांतरित करते हैं क्योंकि माइकल ने ऊपर प्रस्तावित किया था।

मैं उम्मीद करता हूं कि किसी बिंदु पर उनके लिए उपयोग किए जाने वाले स्थिति डेटा को एपीआई के माध्यम से जारी किया जाएगा, लेकिन मुझे अभी तक उस डेटा के बारे में पता नहीं है। मेरे पास ऐसे समय थे जहां यह सहायक भी होता और इसने अब तक छवि को केंद्रित किया है या शीर्ष भाग का उपयोग किया है। आदर्श नहीं है क्योंकि एफबी पहले से ही अपने "आइकन" निर्माता के माध्यम से छवि के सबसे महत्वपूर्ण "वर्ग" की कस्टम स्थिति को ट्रैक और ट्रैक करता है।

2

जैसा कि अन्य उत्तरों पहले ही बताए गए हैं, फेसबुक में स्क्वायर चित्र केवल 50x50 रिज़ॉल्यूशन में हैं।

क्वेरी बड़ी छवि, एक div साथ img -tag लपेट और div को यह CSS लागू:

img#facebook_img { 
width: YOUR_WIDTH; 
} 
div#wrapper { 
height: YOUR_HEIGHT; 
overflow: hidden; 
} 

तो YOUR_WIDTH और YOUR_HEIGHT हैं

एक साधारण सीएसएस हैक चाल हालांकि करता है वही आपको अपनी स्क्वायर छवि मिलती है और अनुपात संरक्षित होता है।

33

सरल, मुझे बस यह पता चला।

उदाहरण के लिए,

https://graph.facebook.com/friends_Id/picture?width=200&height=200

टाडा ~

+1

अच्छा, लेकिन यूआरएल वास्तव में विभिन्न उपयोगकर्ताओं के लिए अप्रत्याशित परिणाम आकार देता है। जब यह 128 और 128 सेट करता है - यह प्रत्येक प्रोफ़ाइल उपयोगकर्ता के लिए समान आकार दिखाई देता है –

+2

संबंधित [फेसबुक एपीआई दस्तावेज़] (https://developers.facebook.com/docs/reference/api/using-pictures/) कहते हैं कि यह वापस आ जाएगा "चौड़ाई और ऊंचाई के बराबर एक वर्ग छवि है।" हालांकि, एक एल्बम से एक फोटो के अपने परीक्षण में, लौटा चौड़ाई और ऊंचाई दोनों 200 से बड़े थे, और नतीजा वर्ग भी नहीं था। मैंने कोशिश की [उस दस्तावेज़ पृष्ठ पर एक बग दर्ज करना] (https://developers.facebook.com/bugs/create/doc?doc_path=%2Fdocs%2Freference%2Fapi%2Fphoto%2F) लेकिन मुझे एक त्रुटि मिली: "हम वर्तमान में केवल अंग्रेज़ी में बग स्वीकार करते हैं "... भले ही मेरी रिपोर्ट अंग्रेजी में थी। –

+0

आपको अधिकतर उपयोगकर्ताओं के लिए एक स्क्वायर पिक्चर मिलेगा, लेकिन कुछ उपयोगकर्ताओं के लिए आपको एक चौड़ाई वाली तस्वीर मिल सकती है, जिसकी चौड़ाई आपने अनुरोध की थी लेकिन एक अलग ऊंचाई की थी। और वास्तव में यदि आप बारीकी से देखते हैं तो दस्तावेज इस बात की गारंटी नहीं देता है कि आपको एक स्क्वायर छवि मिल जाएगी। – Clafou

3

आजकल ग्राफ़ वास्तव में आप वर्ग छवि किसी भी आकार के लौट सकते हैं। वे सबसे आम आकार (जैसे 100x100, 128x128) को कैश करते हैं और निम्नतम आकार को निम्नलिखित request (hover to see)

1

कोई भी उत्तर मेरे लिए पूरी तरह से काम नहीं करता है, विभिन्न आयामों की प्रोफ़ाइल चित्रों में आते हैं (कुछ उम्मीद से अधिक ऊंचाई के साथ, कुछ छोटी ऊंचाई के साथ) जो या तो फैला हुआ या गैर केंद्रित होता है।

अंत में मैं एक img के बजाय एक div तत्व का इस्तेमाल किया और एक background-imagestyle विशेषता के माध्यम से करने के बजाय अपने src विशेषता के माध्यम से छवि निर्धारित किया है।

CSS फ़ाइल:

.profile-pic { 
    background-repeat: no-repeat; 
    background-position: center; 
    background-size: cover; 
    height: 120px; 
    width: 120px; 
    border: solid 1px #ddd; 
} 

HTML:

<div style="background-image:url(https://graph.facebook.com/123/picture?width=120&height=120);" class="profile-pic"></div> 

120px अपने वांछित आयामों के साथ (एचटीएमएल टुकड़ा में सीएसएस में होता है दो बार और दो बार) ऊपर में बदलें।

+0

नोट: फिलहाल, 100x100px छवि का अनुरोध करते समय, फेसबुक हमेशा एक स्क्वायर छवि देता है। एक ही छवि को एक अलग आकार पर अनुरोध करें, हालांकि, 120x120px, और आपको 120px चौड़ाई की एक गैर-स्क्वायर छवि मिल सकती है लेकिन एक अलग ऊंचाई। – Clafou

संबंधित मुद्दे