保存时出现黑色图像?

时间:2014-01-20 03:46:26

标签: android image

在这些日子里,图像让我感到紧张。现在,保存图像变成黑色。我保存了一张色彩缤纷的照片,但在保存时,它只获得了整个黑色。我不知道我的问题是什么。给我一些帮助。

这是我的代码。

BitmapFactory.Options options = new BitmapFactory.Options();
     options.inPreferredConfig = Bitmap.Config.ARGB_8888;
     Bitmap myBitmap = BitmapFactory.decodeFile(picturePath,options);
     ByteArrayOutputStream bao= new ByteArrayOutputStream();
     myBitmap.compress(Bitmap.CompressFormat.PNG,100, bao);
     byte [] ba = bao.toByteArray();
     imageSave = Base64.encodeToString(ba, Base64.DEFAULT);

看起来就是这样。

2 个答案:

答案 0 :(得分:0)

 ByteArrayOutputStream bytes = new ByteArrayOutputStream();

 bmp.compress(Bitmap.CompressFormat.JPEG, 100, bytes);

    File file = new File(Environment.getExternalStorageDirectory()
            + File.separator + "myImage.jpg");
    try {
        file.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        fos = new FileOutputStream(file);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    try {
        fos.write(bytes.toByteArray());
        fos.close();
        Toast.makeText(this, "Image saved", Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        e.printStackTrace();
    }

答案 1 :(得分:0)

我明白了。这是我的答案。

  public byte[] getBytesFromBitmap(Bitmap bitmap) {
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bitmap.compress(CompressFormat.PNG, 70, stream);
        return stream.toByteArray();
    }

  BitmapFactory.Options options = new BitmapFactory.Options();
     options.inPreferredConfig = Bitmap.Config.ARGB_8888;
     Bitmap myBitmap = BitmapFactory.decodeFile(picturePath,options);
     imageSave = Base64.encodeToString(getBytesFromBitmap(myBitmap), Base64.NO_WRAP);