2011-04-26 59 views
22

使用圖形API我可以得到小,大,中等圖片。或者我可以得到小方形圖片。square Facebook圖片

但我怎樣才能得到大的方形圖片?有任何我可以使用的服務嗎?

回答

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圖像,但它顯然會顯得抖動。

+0

謝謝,吉米。但是如果我需要例如180px/180px的個人資料照片呢? – Sergey 2011-04-26 21:59:04

+0

就像我說的那樣,這些是你的選擇。使其成爲180x180的唯一方法是自己裁剪大圖像,或者使用直線HTML屬性放大50x50圖像。 – 2011-04-26 22:08:47

+1

+1,@Sergey長話短說... Facebook不會做你的功課! :-) – ifaour 2011-04-27 07:40:49

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 2012-06-03 05:12:38

6

奇怪的是,Facebook的本身,即使它們顯示在新的時間安排的圖片更大方的個人資料圖片不使用一個更大的正方形圖像。如果仔細觀察,他們會拍攝一張更大的矩形圖像,並按照Michael所述在HTML元素中重新放置它。

我期望在某些時候他們使用的定位數據將通過API發佈,但我並不知道這些數據可用。我曾經有過這樣的時間,這也會有幫助,並且迄今爲止或者只是將圖像居中或者使用頂部。儘管FB已經允許並且通過他們的「icon」創建者來追蹤圖像中最重要的「方塊」的自定義位置,但這並不理想。

2

正如其他答案已經表明,在臉譜方塊圖片只在50x50分辨率。

一個簡單的CSS劈做雖然招:

查詢大圖像,包裹img - 標籤與div這CSS應用到div:

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

如果YOUR_WIDTHYOUR_HEIGHT是同樣你得到你的方形圖像,並保留比例。

33

很簡單,我剛剛發現了這一點。

例,

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

田田〜

+1

不錯,但url實際上給不同的用戶帶來不可預知的結果大小。 當它將它設置爲128和128時 - 對於每個配置文件用戶來說它看起來大小相同 – 2012-10-25 07:08:33

+2

相關的[Facebook API文檔](https://developers.facebook.com/docs/reference/api/using-pictures/)表示這將返回「如果寬度和高度具有相同的值,則爲方形圖像。」然而,在我自己對一張專輯中的照片進行測試時,返回的寬度和高度都大於200,結果也不是很方便。我嘗試了[在該文檔頁上提交一個錯誤](https://developers.facebook.com/bugs/create/doc?doc_path=%2Fdocs%2Freference%2Fapi%2Fphoto%2F),但我收到了一個錯誤:「我們目前只接受英語錯誤「......即使我的報告是英文的。 – 2013-01-18 21:10:44

+0

對於大多數用戶,您會得到一張方形圖片,但對於某些用戶,您可能會得到一張非方形圖片,其寬度是您請求的寬度,但具有不同的高度。事實上,如果仔細觀察,文檔不能保證您會得到方形圖像。 – Clafou 2014-04-30 17:28:49

3

如今圖表實際上可以回到你的任何尺寸的正方形圖片。他們緩存最常見的大小(如100x100,128x128),並返回最接近的大小,如下所示request (hover to see)

1

沒有任何答案對我來說完美地工作,遇到各種尺寸的配置文件圖片(有些配置的高度比預期的高,一些具有較小的高度),其結果是拉伸或非中心。

最後,我使用的div元件代替img的並通過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> 

在上述(在CSS在HTML片段發生兩次,兩次)更換120像素與期望的尺寸。

+0

注意:目前,當請求一張100x100px的圖片時,Facebook會給出一個總是正方形的圖片。然而,請求不同大小的相同圖像,例如120x120像素,並且您可能會得到寬度爲120px但高度不同的非正方形圖像。 – Clafou 2014-04-30 18:31:06