今天写一下保存图片到手机相册的功能!

整个保存图片的代码如下:

public void saveImageToGallery(Context context, Bitmap bmp) {if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {return;}// 首先保存图片File appDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsoluteFile();if (!appDir.exists()) {appDir.mkdir();}String fileName = System.currentTimeMillis() + ".png";File file = new File(appDir, fileName);try {FileOutputStream fos = new FileOutputStream(file);bmp.compress(Bitmap.CompressFormat.PNG, 100, fos);fos.flush();fos.close();} catch (FileNotFoundException e) {e.printStackTrace();return;} catch (IOException e) {e.printStackTrace();return;}try {MediaStore.Images.Media.insertImage(context.getContentResolver(),file.getAbsolutePath(), fileName, null);} catch (FileNotFoundException e) {e.printStackTrace();}// 最后通知图库更新context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getAbsolutePath())));}

长按图片的事件

 imgView.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View view) {saveImageToGallery(MainActivity.this, bitmap);return true;//true代表消费了该事件,不在往下传递,如果返回false,会触发onclicklistener时间}});

特别注意这点:调用getDrawingCache()前先要测量,否则的话得到的bitmap为null,也就是保存到相册里图片会变黑的问题

  imgView = findViewById(R.id.icon);imgView.setDrawingCacheEnabled(true);imgView.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));imgView.layout(0, 0, imgView.getMeasuredWidth(), imgView.getMeasuredHeight());bitmap = Bitmap.createBitmap(imgView.getDrawingCache());imgView.setDrawingCacheEnabled(false);

保存图片到相册及图片变黑问题相关推荐

  1. Qt之打开IOS相册图片和保存图片到相册

    打开相册图片很简单,这里主要说明的是保存图片到相册的两种情况:1.已知图片路径,保存到相册:2.将QImage直接保存到相册 一.打开相册图片 这里需要设置xcode工程的相册权限Privacy - ...

  2. view转化成图片并保存图片到相册

    view转换成图片(下面的view转化成你的整体布局) // 把一个View转换成图片view.setDrawingCacheEnabled(true);view.setDrawingCacheQua ...

  3. 方法简单适合新手!把图片变音乐视频,上月收入7000多

    靠几张图片在自媒体平台就能日赚200多,你能相信吗? 很多新手小白想要通过做自媒体赚取收益,在如何选择适合自己的领域时却非常头疼. 今天大周就来给你们分享一个图片变视频的玩法,操作并不难,相信大家也刷 ...

  4. Mac实用技巧 |如何使用Mac系统中自带的预览工具将图片变成黑白色?

    Mac系统中没有安装ps,现在却想将一张图片变成黑白色,该怎么办呢?我们可以使用Mac系统自带的图片预览工具来改变图片颜色哦,不会的小伙伴们看过来~ 具体步骤如下: 1.双击要编辑的图片,如果修改了系 ...

  5. uniapp保存图片_Uniapp实现保存图片到相册(封装起来)

    我封装了一个方法,之后可以直接使用 在此之前,先用class封装一个Toast提示框 class Toast{ constructor(title,icon="success",d ...

  6. 微信小程序保存图片到相册;uni-app小程序保存网络图片到相册;小程序保存图片到相册拒绝授权后重新拉起授权;保存图片到系统相册;小程序保存图片测试可以,真机保存图片失败

    文末代码可以直接复制使用,图片修改成你的图片路径即可 一.场景: 小程序点击按钮,保存项目内的静态图片或者微信头像或者后端返回的图片: 二.注意点及思路拆分: –2.1:小程序保存图片功能,必须要有s ...

  7. 微信小程序--保存图片到相册功能实现

    项目中有个保存二维码到相册的功能,所以涉及到用户是否授权相册权限的问题.废话不多说,直接上干货- 功能逻辑: 先检查用户请求过的权限中是否允许"保存到相册"权限,如果没有请求过这个 ...

  8. 怎么把彩色的照片变黑白色?

    怎么把彩色的照片变黑白色?不同的色彩会让照片赋予不同的感官,产生不同的魅力和效果.我们平时拍摄的照片都是彩色的,有时候因为不同的使用需求,我们需要将彩色的照片变成黑白色的,你会如何处理呢?有的小伙伴会 ...

  9. 使用华为nexus6p进行拍并照裁剪图片和从相册裁剪图片

    在项目的兼容适配上碰到了一个问题,就是之前写好的上传头像功能在华为nexus6p原生机上不能使用了. 经过一番研究发现是以下两个问题导致的: 1.url的路径产生了变化,导致获取bitmap的方法跟着 ...

最新文章

  1. HIVE中的表以及语法
  2. linux sheet脚本去掉m,linux下的文本dos格式转unix格式,去除^M符号
  3. 最强黑客库Blackbone使用教程
  4. 给采购凭证分配合作伙伴方案
  5. 【CyberSecurityLearning 11】OSI与TCP/IP协议簇以及Packet Tracer模拟器
  6. 北京/杭州 | 阿里巴巴达摩院自然语言智能生物医学团队招聘研究型实习生
  7. 一个三行两列右列固定左列自适应宽度的CSS
  8. BERT-BiLSTM-CRF基于BERT预训练的中文命名实体识别TensorFlow实现
  9. 计算机病毒正确探讨目录,毕业论文-计算机病毒的正确防御探讨.doc
  10. java单词200个,请收藏!贼有用
  11. 存储过程实现创建修改表及其数据
  12. tlac100怎么添加ap_如何设置AC功能管理无线AP
  13. 快速远程访问内网的摄像头【内网穿透】
  14. win7电脑蓝屏没有修复计算机,Win7旗舰版系统电脑老是出现蓝屏的修复教程
  15. 计算机efs加密,win7系统对文件启用EFs加密功能的处理办法
  16. 餐厅小票打印模板_智慧餐厅多商家入驻小程序开发,成功案例:万足外卖!
  17. 利用八爪鱼爬取关键词搜索的微博数据
  18. python和表格有什么关系_Python实现和Excel基础功能对应关系
  19. Proteus8.12的卸载
  20. 保罗·奥兰德:预测金融市场走势

热门文章

  1. 【今日学长】来自柚子帮学长--留学生打HPV疫苗还能报销!
  2. 诺基亚EnodeB关于空口参考信号功率 计算和验证方法
  3. 云计算机教室配置清单,深度学习电脑配置清单
  4. 如何获取与清除IE历史记录
  5. springBoot餐厅店内点餐系统点餐外卖配送餐馆饭店收银系统实现记录一下「源码文档实过程]
  6. python从0开始学编程第四天第3讲_从零开始学习PYTHON3讲义(四)让程序更友好
  7. Halo博客怎么修改网页图标
  8. 设置RGui的背景颜色和字体
  9. BPEL 及其发展历程
  10. linux的3d软件下载,3d切片软件下载 FlashPrint(3D闪铸切片软件) V4.6.2 linux版 64位 下载-脚本之家...