将布局转换为图片保存在本地

2018-01-18  本文已影响0人  谜之龙
public class SetImg {
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
        Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.WRITE_EXTERNAL_STORAGE
};
public static void saveBitmap(View v, Context context) {
    int permission = ActivityCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE);
    if (permission != PackageManager.PERMISSION_GRANTED) {
        // We don't have permission so prompt the user
        ActivityCompat.requestPermissions(
                (Activity) context,
                PERMISSIONS_STORAGE,
                REQUEST_EXTERNAL_STORAGE
        );
    }


    String storePath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "同业宝图片";
    File appDir = new File(storePath);
    if (!appDir.exists()) {
        appDir.mkdir();
    }
    String fileName = System.currentTimeMillis() + ".jpg";
    File file = new File(appDir, fileName);
    Bitmap bm = Bitmap.createBitmap(v.getWidth(), v.getHeight(),
            Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bm);
    v.draw(canvas);
    String TAG = "TIKTOK";
    Log.e(TAG, "保存图片");
  /*  String storePath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "同业宝名片";*/

   /* File f = new File(storePath, fileName);*/
    try {
        FileOutputStream out = new FileOutputStream(file);
        bm.compress(Bitmap.CompressFormat.PNG, 90, out);
        out.flush();
        out.close();
        Log.i(TAG, "已经保存");
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
        Log.e(TAG, "保存文件失败");
        e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
        Log.e(TAG, "保存失败");
        e.printStackTrace();
    }
}
}
上一篇下一篇

猜你喜欢

热点阅读