【问题标题】:Please somebody tell me how to create a bitmap out of this?请有人告诉我如何从中创建位图?
【发布时间】:2014-11-19 12:35:03
【问题描述】:

我正在构建一个应用程序,它可以创建和下载图像文件。 当我要求图像文件时,我从服务器接收输入流。如果我在上传图片后立即调用该方法而没有先关闭我的应用程序,则可以将流解码为位图并且一切正常。

但如果我先关闭,我将不起作用,并且内容看起来不同。 我得到的字符串看起来像 "{"Attachment":"/9j/4S5RXhp....."

【问题讨论】:

  • 安妮卡,你的问题没听明白,你能用简单的语言解释一下吗?
  • 在我拍完照片然后用我的应用程序上传图像文件后发送请求时很好。我在拍照时遇到问题,上传它然后关闭我的应用程序以重新启动它并请求我之前上传的图像文件。每次尝试解析为位图时,我都会得到 skimage 解码器返回空错误,尽管在其他情况下它工作正常。我将它解码为一个字符串,发现我在第二种情况下得到的字符串看起来完全不同,就像上面描述的那样
  • 也就是说,首先您将图像上传到服务器,然后关闭应用程序,然后再次打开应用程序并尝试获取该图像?
  • 是的,我遇到的问题是我无法找出为什么我无法解码它。
  • 能否请您在此处发布您从服务器获取的图片网址?

标签: android bitmap decode bitmapfactory


【解决方案1】:
            BufferedReader streamReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
            StringBuilder responseStrBuilder = new StringBuilder();

            String inputStr;
            while ((inputStr = streamReader.readLine()) != null)
                responseStrBuilder.append(inputStr);

            JSONObject att = new JSONObject(responseStrBuilder.toString());

            byte[] bytes = Base64.decode(att.getString("Attachment"), Base64.DEFAULT);
            bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);

【讨论】:

    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    相关资源
    最近更新 更多