gpt4 book ai didi

android - 如何从 FaceBook 获取清晰图像

转载 作者:行者123 更新时间:2023-11-29 00:31:00 25 4
gpt4 key购买 nike

我使用了 Facebook Wall Post 图像的图形 API Json 响应并在我的应用程序中显示,我成功地得到了它。但是墙上的图片看起来很模糊怎么解决?我用这段代码来获取墙上的图片

URL url=new URL(hashMap.get("picture_url"));
bitmap=BitmapFactory.decodeStream(url.openConnection().getInputStream());
((ImageView)view.findViewById(R.id.imageView_FullImage)).setImageBitmap(bitmap)

最佳答案

Facebook Graph API 以及 FQL 数据集始终返回缩略图的图片 URL。如果您查看它返回的 URL,它将具有以下结尾之一(就在图像扩展名 .jpg、.png 等之前)_t._a.。例如,如果 URL 指向一个 JPG 文件,它的结尾可能是 _t.jpg

想法是交换结尾并为返回的图像选择正常大小。为此,请使用下面的代码将结尾替换为正常尺寸图像的结尾(应该有 _n.)

顺便说一句,我认为您要找的标签不是picture_url。它应该只是图片。但无论如何,获取如下所示的源 URL,替换结尾,然后将其传递给代码中的这一行:

// THIS SHOULD BE AFTER THE if....else code block
bitmap=BitmapFactory.decodeStream(url.openConnection().getInputStream());

用于替换各种缩略图的代码:顺便说一句,这是生产代码,可以完美运行。

String PICTURE_URL;
String getPicture = JOFeeds.getString("picture");

if (getPicture.contains("_t.")) {
PICTURE_URL = getPicture.replaceAll("_t.", "_n.");
} else if (getPicture.contains("_a.")) {
PICTURE_URL = getPicture.replaceAll("_a.", "_n.");
} else if (getPicture.contains("_s.")) {
PICTURE_URL = getPicture.replaceAll("_s.", "_n.");
} else if (getPicture.contains("_q.")) {
PICTURE_URL = getPicture.replaceAll("_q.", "_n.");
}

注意:但是,在某些情况下,例如视频预览或链接预览,并不总是有更大的图像可用。你对此无能为力,我怀疑 Facebook 也无能为力。这些通常来自其他网站的用户分享的帖子。

关于android - 如何从 FaceBook 获取清晰图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15715981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com