使用Bitmap生成透明底图,并保存到本地SD卡中

生成透明的Bitmap

 //若使背景为透明,必须设置为Bitmap.Config.ARGB_4444或ARGB_8888("A"表示透明度)
        Bitmap mBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);

当使用Bitmap进行Canvas.draw之类的操作时,加载透明图片为底图,也必须设置Bitmap.Config.ARGB_4444或ARGB_8888,不然图片透明区域会变成黑色。

保存Bitmap到本地

具体图片文件操作,请见: 图片文件操作工具类—ImageUtil

 File sdDir = Environment.getExternalStorageDirectory();
        File fileDir = new File(sdDir.getPath() + "/保存图片的文件夹名");
        if (!fileDir.exists()) {
            // 必须要先有父文件夹才能在父文件夹下建立想要的子文件夹
            // 即LIMS文件必须存在,才能建立IMG文件夹
            fileDir.mkdir();
        }
        String fileUrl = fileDir.getAbsolutePath()+"/图片名字.png";
        try {
            FileOutputStream fos = new FileOutputStream(new File(fileUrl ));
            //此处注意为Bitmap.CompressFormat.PNG
            mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
            fos.flush();
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

你可能感兴趣的:(Android之路)