以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Android 高级开发 』 (http://bbs.xml.org.cn/list.asp?boardid=53) ---- 【代码】android 保存绘图为bitmap的方法 (http://bbs.xml.org.cn/dispbbs.asp?boardid=53&rootid=&id=126758) |
-- 作者:挥戈回日 -- 发布时间:7/16/2013 5:49:00 PM -- 【代码】android 保存绘图为bitmap的方法 //保存图片到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; } |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |