提高从Facebook GRAPH API返回的图像的分辨率

时间:2015-08-13 16:22:29

标签: css facebook twitter-bootstrap facebook-graph-api

我成功从 access_token.

获取Facebook个人资料照片

以下是图片的样子:

enter image description here

图表api返回的img-url是:

https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/p50x50/18690_10200566810328735_5541565876879508513_n.jpg?oh=a9e7e2c4e16c1b85c79359c8cf0bdc22&oe=5679B55C&__gda__=1451176224_cd636273f4f2b4ad991a70820d758953

现在发生的事情是,当我的网站设置为我的一个asp图像控件时,此图像会被拉伸(像素)。

以下是图像控件的aspx代码:

<asp:Image ID="imgPP" runat="server" CssClass="img-thumbnail" Style="position: relative;left: 40px; top: 10px" Height="150px" Width="150px" />

CSS 来自模板,是标准的 Bootstrap CSS

 img {
  border: 0;
}
.img-thumbnail {
  display: inline-block;
  max-width: 100%;
  height: auto;
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: all .2s ease-in-out;
       -o-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
}

如何在更高的高度和宽度上保持图像的分辨率?

编辑:1

这是我从FacebookID获取图片网址的方式:

public static string GetPictureUrl(string faceBookId)
        {
            WebResponse response = null;
            string pictureUrl = string.Empty;
            try
            {
                WebRequest request = WebRequest.Create(string.Format("https://graph.facebook.com/{0}/picture", faceBookId));
                response = request.GetResponse();
                pictureUrl = response.ResponseUri.ToString();
            }
            catch (Exception e)
            {
                //catch exception
            }
            finally
            {
                if (response != null) response.Close();
            }
            return pictureUrl;
        }

1 个答案:

答案 0 :(得分:2)

您需要通过添加type=large查询字符串来更改您呼叫的网址以请求更大的个人资料图片:

https://graph.facebook.com/{0}/picture?type=large

您可以指定的类型是:

small
normal
large
square

或者,您可以指定宽度和高度,Facebook将返回与这些尺寸最匹配的图像:

https://graph.facebook.com/{0}/picture?width=500&height=600