Java 将输入流转换为位图

Java 将输入流转换为位图,java,android,multithreading,inputstream,android-3.0-honeycomb,Java,Android,Multithreading,Inputstream,Android 3.0 Honeycomb,我无法将输入流从web转换为位图。仅当输入图像类型为.BMP(位图)时才会出现问题。在这种情况下:bitmapFactory.decodeStream返回null 有没有提示如何解决这个问题,或者我应该在哪里继续调试 平台:安卓(蜂窝) 谢谢@Amir指出日志。发现一行: decoder->decode returned false 这似乎是一个常见的问题。通过搜索,我找到了一个解决方案 我以前的代码: URLConnection conn = url.openConnection();

我无法将输入流从web转换为位图。仅当输入图像类型为.BMP(位图)时才会出现问题。在这种情况下:bitmapFactory.decodeStream返回null

有没有提示如何解决这个问题,或者我应该在哪里继续调试

平台:安卓(蜂窝)


谢谢@Amir指出日志。发现一行:

decoder->decode returned false
这似乎是一个常见的问题。通过搜索,我找到了一个解决方案

我以前的代码:

URLConnection conn = url.openConnection();
conn.connect();

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);
HttpGet httpRequest = null;

try {
    httpRequest = new HttpGet(url.toURI());
} catch (URISyntaxException e) {
    e.printStackTrace();
}

HttpClient httpclient = new DefaultHttpClient();

HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);

HttpEntity entity = response.getEntity();

BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);

InputStream instream = bufHttpEntity.getContent();

bmp = BitmapFactory.decodeStream(instream);
正在工作的代码:

URLConnection conn = url.openConnection();
conn.connect();

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);
HttpGet httpRequest = null;

try {
    httpRequest = new HttpGet(url.toURI());
} catch (URISyntaxException e) {
    e.printStackTrace();
}

HttpClient httpclient = new DefaultHttpClient();

HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);

HttpEntity entity = response.getEntity();

BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);

InputStream instream = bufHttpEntity.getContent();

bmp = BitmapFactory.decodeStream(instream);

谢谢@Amir指出日志。发现一行:

decoder->decode returned false
这似乎是一个常见的问题。通过搜索,我找到了一个解决方案

我以前的代码:

URLConnection conn = url.openConnection();
conn.connect();

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);
HttpGet httpRequest = null;

try {
    httpRequest = new HttpGet(url.toURI());
} catch (URISyntaxException e) {
    e.printStackTrace();
}

HttpClient httpclient = new DefaultHttpClient();

HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);

HttpEntity entity = response.getEntity();

BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);

InputStream instream = bufHttpEntity.getContent();

bmp = BitmapFactory.decodeStream(instream);
正在工作的代码:

URLConnection conn = url.openConnection();
conn.connect();

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);
HttpGet httpRequest = null;

try {
    httpRequest = new HttpGet(url.toURI());
} catch (URISyntaxException e) {
    e.printStackTrace();
}

HttpClient httpclient = new DefaultHttpClient();

HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);

HttpEntity entity = response.getEntity();

BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);

InputStream instream = bufHttpEntity.getContent();

bmp = BitmapFactory.decodeStream(instream);

这里有一个简单的答案

val bitmap = BitmapFactory.decodeStream(inputStream)

返回一个
位图

这里是一个单行答案

val bitmap = BitmapFactory.decodeStream(inputStream)

返回一个
位图

是否有任何日志错误可以帮助?是否有任何日志错误可以帮助?我使用WCF服务,当我发送图像的字节[]并使用您的方法转换回位图图像时,但是BitmapFactory.decodeStream(instream)始终为空!!我使用WCF服务,当我发送图像的字节[]并使用您的方法将其转换回位图图像时,但BitmapFactory.decodeStream(instream)始终为空!!例如,您可以随意使用它来获取本地图像。例如,您可以随意使用它来获取本地图像