2014-01-20 51 views
1

在这些日子里,图片让我感到紧张。现在,保存图像变成黑色。我用丰富多彩的照片保存了一张照片,但是当保存时,它只能获得全黑色。我不知道我的问题是什么。给我一些帮助。保存时出现黑色图像?

这是我的代码。

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

看起来就是这样。

回答

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); 
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(); 
    } 
相关问题