gpt4 book ai didi

android - BitmapFactory 解码问题

转载 作者:行者123 更新时间:2023-11-30 03:22:45 25 4
gpt4 key购买 nike

url="http://www.nasa.gov/sites/default/files/styles/946xvariable_height/public/ladee_spin_2_in_motion_0_0.jpg?itok=yNhf69rE";

try {
HttpURLConnection connection = (HttpURLConnection)new URL(url).openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(input);
input.close();
return bitmap;
}
catch (Exception e)
{
e.printStackTrace();
return null;
}

我试图从 url 中检索图像,但无论如何它总是返回 null。在 Debug模式下,我观察到它在尝试 input.close(); 时发生。 .我怎样才能得到图像。

最佳答案

这是加载位图的正确方法:

    InputStream is;
Bitmap bitmap;
is = context.getResources().openRawResource(DRAW_SOURCE);


bitmap = BitmapFactory.decodeStream(is);
try {
is.close();
is = null;
} catch (IOException e) {
}

但是,正如我所见,您在完成解码之前关闭了流。

如果是这样,使用其他方式:

Bitmap bitmap;
InputStream input = connection.getInputStream();
BufferedInputStream bis = new BufferedInputStream(input, 8192);

ByteArrayBuffer buff = new ByteArrayBuffer(64);
int current = 0;
while ((current = bis.read()) != -1) {
buff.append((byte)current);
}

byte[] imageData = buff.toByteArray();
bitmap = BitmapFactory.decodeByteArray(imageData, 0, imageData.length);

try {
is.close();
is = null;
} catch (IOException e) {
}

顺便说一句,请参阅 this post , 它也应该工作

关于android - BitmapFactory 解码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18810728/

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