当前位置:   article > 正文

Android—将Bitmap图片保存到SD卡目录下或者指定目录_bitmap保存图片

bitmap保存图片

直接上代码就不废话啦

:保存到SD卡下

  1. File file = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".jpg");
  2. try {
  3. out = new FileOutputStream(file);
  4. btImage.compress(Bitmap.CompressFormat.JPEG, 90, out);
  5. System.out.println("___________保存的__sd___下_______________________");
  6. } catch (FileNotFoundException e) {
  7. e.printStackTrace();
  8. }
  9. try {
  10. out.flush();
  11. out.close();
  12. } catch (IOException e) {
  13. e.printStackTrace();
  14. }
  15. Toast.makeText(HahItemActivity.this,"保存已经至"+Environment.getExternalStorageDirectory()+"下", Toast.LENGTH_SHORT).show();
  16. }
上面的方法就是 直接定义一个文件的路径,和图片的名称,然后保存.

:保存Bitmap到指定的SD卡文件夹目录下

想想也知道,这个必须先有个文件夹,才能把图片保存这里面,那就按照思路学代码吧

  1. if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) // 判断是否可以对SDcard进行操作
  2. { // 获取SDCard指定目录下
  3. String sdCardDir = Environment.getExternalStorageDirectory()+ "/CoolImage/";
  4. File dirFile = new File(sdCardDir); //目录转化成文件夹
  5. if (!dirFile .exists()) { //如果不存在,那就建立这个文件夹
  6. dirFile .mkdirs();
  7. } //文件夹有啦,就可以保存图片啦
  8. File file = new File(sdCardDir, System.currentTimeMillis()+".jpg");// 在SDcard的目录下创建图片文,以当前时间为其命名
  9. try {
  10. out = new FileOutputStream(file);
  11. btImage.compress(Bitmap.CompressFormat.JPEG, 90, out);
  12. System.out.println("_________保存到____sd______指定目录文件夹下____________________");
  13. } catch (FileNotFoundException e) {
  14. e.printStackTrace();
  15. }
  16. try {
  17. out.flush();
  18. out.close();
  19. } catch (IOException e) {
  20. e.printStackTrace();
  21. }
  22. Toast.makeText(HahItemActivity.this,"保存已经至"+Environment.getExternalStorageDirectory()+"/CoolImage/"+"目录文件夹下", Toast.LENGTH_SHORT).show();
  23. }

注:访问权限注意哦

  1. <!-- 安卓读写sd权限 -->
  2. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  3. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  4. <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>


关于图片的  SD卡的 
未完   待续

  1. //将Bitmap图片保存到sd卡
  2. protected void saveBitmapToSD(Bitmap bt) {
  3. File path = Environment.getExternalStorageDirectory();
  4. File file = new File(path, System.currentTimeMillis() + ".jpg");
  5. System.out.println(Environment.getExternalStorageState() + "/Cool/" +"000000000000000000000000000");
  6. try {
  7. FileOutputStream out = new FileOutputStream(file);
  8. bt.compress(Bitmap.CompressFormat.JPEG, 90, out);
  9. } catch (FileNotFoundException e) {
  10. e.printStackTrace();
  11. }
  12. out.flush();
  13. out.close();
  14. }
  15. /**
  16. * 保存bitmap到SD卡
  17. * @param bitName 保存的名字
  18. * @param mBitmap 图片对像
  19. * return 生成压缩图片后的图片路径
  20. */
  21. public static String saveMyBitmap(String bitName,Bitmap mBitmap) {
  22. File f = new File("/sdcard/" + bitName + ".png");
  23. try {
  24. f.createNewFile();
  25. } catch (IOException e) {
  26. System.out.println("在保存图片时出错:" + e.toString());
  27. }
  28. FileOutputStream fOut = null;
  29. try {
  30. fOut = new FileOutputStream(f);
  31. } catch (FileNotFoundException e) {
  32. e.printStackTrace();
  33. }
  34. try {
  35. mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
  36. } catch (Exception e) {
  37. return "create_bitmap_error";
  38. }
  39. try {
  40. fOut.flush();
  41. } catch (IOException e) {
  42. e.printStackTrace();
  43. }
  44. try {
  45. fOut.close();
  46. } catch (IOException e) {
  47. e.printStackTrace();
  48. }
  49. return "/sdcard/" + bitName + ".png";
  50. }
  51. /**
  52. * 保存bitmap到SD卡
  53. * @param bitmap
  54. * @param imagename
  55. */
  56. public static String saveBitmapToSDCard(Bitmap bitmap, String imagename) {
  57. String path = "/sdcard/" + "img-" + imagename + ".jpg";
  58. FileOutputStream fos = null;
  59. try {
  60. fos = new FileOutputStream(path);
  61. if (fos != null) {
  62. bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos);
  63. fos.close();
  64. }
  65. return path;
  66. } catch (Exception e) {
  67. e.printStackTrace();
  68. }
  69. return null;
  70. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/303735
推荐阅读
相关标签
  

闽ICP备14008679号