当前位置: 首页 > 面试题库 >

将输入流转换为位图

邢心水
2023-03-14
问题内容

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

有什么提示如何解决此问题,或者应该在哪里继续调试?

平台:Android(蜂窝)

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

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);

问题答案:

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

资源



 类似资料:
  • 我必须使用Java将com.google.mlkit.vision.common.inputimage转换为android中等效的位图图像。现在我正在使用下面的代码。 上面的代码没有将输入转换为位图。谁能给我建议一下把输入转换成位图的有效方法。

  • 问题内容: 我正在尝试使用FOP和Java生成PDF文档。 我以字符串而不是文件的形式接收XML。 如何将该XML字符串转换为XML输入流,以便可以调用xslfoTransformer.transform(source,res); 其中source是我的XML字符串作为输入流。 请提供您的建议。 问题答案: 您可能希望将其转换为,而不是。使用StringReader执行此操作。StreamSour

  • 问题内容: 我是JAVA的新手,我正在尝试将JTextField的输入转换为整数,我尝试了很多选项,但是没有任何作用,蚀总是给我一个错误,并且这些错误对我来说没有意义。 导入java.awt.Graphics; 导入java.awt.Color; 问题答案: 代替: 试试这个: 您不能解析为,但是 可以解析 其包含的 值 -文本。

  • 我能得到php mime电子邮件解析器/解码器的帮助吗https://code.google.com/p/php-mime-mail-parser/不涉及任何安装。我甚至试过phpclasses的Zend和decoder。org,但没有帮助。我找不到如何将输入输入程序并从中获取输出,因为没有这方面的教程 我的目标:我需要将mime邮件从输入流转换为可读文本 请帮帮忙

  • 本文向大家介绍如何在Java中将输入流转换为字节数组?,包括了如何在Java中将输入流转换为字节数组?的使用技巧和注意事项,需要的朋友参考一下 Java中的InputStream类提供了方法。此方法接受字节数组,并将输入流的内容读取到给定的字节数组。 示例 输出结果 替代解决方案 Apache commons提供了一个名为org.apache.commons.io的库,下面是将库添加到项目中的ma

  • 问题内容: 我想将转换为对象。编组JAXB对象后,我返回了一个对象。 问题答案: 对jaxb不太熟悉,根据我的发现,您可以使用转换为字符串 ws.apache.org 但我不确定搅拌对象。仍在搜索中。 **编辑 编组非元素 另一个常见的用例是您的对象上没有@XmlRootElement。JAXB允许您像这样封送它: marshaller.marshal(new JAXBElement( new Q