复制代码- //保存图片到sd卡
- private static void saveToFile(final String name, final Bitmap bitmap) {
- new Thread() {
- @Override
- public void run() {
- Utils.saveToFile(name, bitmap);
- }
- }.start();
- }
- //将view保存成图片
- public static Bitmap convertViewToBitmap(View view) {
- view.buildDrawingCache();
- Bitmap bitmap = view.getDrawingCache();
- return bitmap;
- }
- 以下是saveToFile的方法
- public static boolean saveToFile(String name, Bitmap bitmap)
- {
- // 在保存之前需要判断 SDCard 是否存在,并且是否具有可写权限:
- if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
- {
- return false;
- }
- // 检索 文件目录
- File sdCardDir = new File(Environment.getExternalStorageDirectory(),
- Constants.FILE_PATH);
- // 判断目录是否存在 不存在就直接创建一个
- if (!sdCardDir.exists()) {
- sdCardDir.mkdirs();
- }
- // 创建 文件
- File dir = new File(sdCardDir,
- (new SimpleDateFormat("yyyy-MM-dd")).format(new Date()) + File.separator + Constants.DIR_NAME);
- // // 获取SDCard目录,2.2的时候为:/mnt/sdcart 2.1的时候为:/sdcard
- // File dir = new File(sdCardDir.getAbsolutePath() + File.separator + Constants.FILE_PATH + File.separator
- // + (new SimpleDateFormat("yyyy-MM-dd")).format(new Date()) + File.separator + Constants.DIR_NAME);
- if (!dir.exists())
- {
- dir.mkdirs();
- Log.i("tag1", "创建成功");
- }else{
- Log.i("tag2", "已经有了");
- }
- try
- {
- File saveFile = new File(dir.getPath(), name + ".png");
- FileOutputStream outStream = new FileOutputStream(saveFile);
- bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
- outStream.close();
- }
- catch (Exception e)
- {
- System.out.println("保存失败");
- e.printStackTrace();
- }
- return true;
- }
|