首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从GoogleSignInAccount获取高质量的剖面图

从GoogleSignInAccount获取高质量的剖面图
EN

Stack Overflow用户
提问于 2016-04-30 14:48:29
回答 3查看 4.9K关注 0票数 9

在我的安卓应用程序中,为了通过google帐户进行身份验证,我遵循了这个官方教程用户,它可以工作。

如前所述,为了检索配置文件图片,我使用了"GoogleSignInAccount“类的GoogleSignInAccount方法。示例:

代码语言:javascript
复制
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
GoogleSignInAccount acct = result.getSignInAccount();
String personName = acct.getDisplayName();
String personEmail = acct.getEmail();
String personId = acct.getId();
Uri personPhoto = acct.getPhotoUrl();

问题是,我通过这个URL获得的图像质量非常差(小)。

截图示例

我怎样才能解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-02 10:52:59

如果您的照片url有sz=50键(图像大小50或更多)。然后将大小替换为最高。就像sz=240

我不确定您的照片url有sz密钥,因为我使用了Person API,该API为getUrl()提供了sz密钥,以获取用户的详细信息,现在已经不再推荐了。

更新: Person.Image -官方文档,它说如何获得不同的轮廓化身

个人资料照片的网址。若要调整图像的大小并将其裁剪到正方形,请追加查询字符串?sz=x,其中x是双方像素的维度。

然而,正如@stackpic91所说,新API S96-c已经将其值更改为最高值,以获得大图像S240-c

票数 13
EN

Stack Overflow用户

发布于 2019-04-11 10:21:17

当使用您选择的加载程序(Glide/Picasso)加载映像时,只需对url字符串执行以下操作:

代码语言:javascript
复制
avatarUrl.replace("s96-c", "s192-c", true)

代码语言:javascript
复制
avatarUrl.replace("s96-c", "s384-c", true)

为了更好的品质

票数 12
EN

Stack Overflow用户

发布于 2022-10-04 19:19:30

这很简单。如果更改URL中的查询参数,您将获得高质量的图像,例如:https://lh3.googleusercontent.co/a/ALm5wu1o3Bl7PnfBQnEPcJuTj2v9FDcqaiCouOVPaO-3=s96-sn-c

从URL的最后一个移除=s96-sn-c,您将获得良好的分辨率图像。

所以帕拉姆斯是:

  • sn大小将高度或宽度的长度设置为n个像素,即s1000
  • 宽度将图像宽度设置为n个像素
  • hn高度将图像高度设置为n个像素
  • C平方作物集的高度和宽度为相同的值

查看文档以获得更多信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36956326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档