Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将输入流转换为位图_Java_Android_Multithreading_Inputstream_Android 3.0 Honeycomb - Fatal编程技术网

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);

这里有一个简单的答案

val bitmap = BitmapFactory.decodeStream(inputStream)

返回一个
位图

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