保存位图时,黑色部分代替透明部分

时间:2014-06-07 13:49:41

标签: android bitmap

我很沮丧地搜索几乎每个谷歌页面都有这个问题。

我需要将我的位图保存到文件中。 我已经多次使用过这种方法而没有任何问题。但现在我遇到了问题。

我保存的位图是一个透明且具有.png格式的圆形图像,我将其放在res文件夹中。但是我的黑色部分代替了透明部分。

这是我用来保存位图的代码。

void saveImage(Bitmap bmp) {
    try {
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        bmp.compress(Bitmap.CompressFormat.PNG, 100, bytes);

        finalImg = new File(Environment.getExternalStorageDirectory(),
                "emoticon_temp" + ".png");

        finalImg.createNewFile();

        FileOutputStream fo = new FileOutputStream(finalImg);
        fo.write(bytes.toByteArray());

        fo.flush();
        fo.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

我将此位图保存为文件,因为我需要共享此图像并分享图像,我需要Stream Uri。

如果您有任何其他想法来共享位图,请告诉我。

0 个答案:

没有答案