在android中以编程方式创建透明图像

时间:2009-10-02 07:34:04

标签: android

我从网络服务器(具有透明背景)获取图像。现在我需要将此图像保存在我的SD卡上并显示给用户。但是当我将图像保存到SD卡时。它以黑色背景保存..我需要带背景的图像..

我尝试了以下方法来保存图像---

方法1:

Bitmap bitmap = BitmapFactory.decodeStream(is);
byte[] b;
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 75, bytes);
b = bytes.toByteArray();
    try {
        File myFile = new File("/sdcard/" + image_id + ".jpg");
        myFile.createNewFile();
        OutputStream filoutputStream = new FileOutputStream(myFile);
        filoutputStream.write(b);
        filoutputStream.flush();
        filoutputStream.close();
        }catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                Log.d("file", "not created");
            }

方法2:

MediaStore.Images.Media.insertImage(getContentResolver(),
            bitmap, "sample", "image/png");

plz help ...

1 个答案:

答案 0 :(得分:7)

为什么不将流保存到文件中?它已被编码为透明图像。

快速注意:JPEG不支持透明度。