Android view 转化为Bitmap并保存在本地
16lz
2021-01-23
private void initView() { // 获取图片某布局 final View view = findViewById(R.id.layout); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); new Handler().postDelayed(new Runnable() { @Override public void run() { final Bitmap bmp = view.getDrawingCache(); // 获取图片 savePicture(bmp, "shareimg.png");// 保存图片 view.destroyDrawingCache(); // 保存过后释放资源 } }, 1000);}public void savePicture(Bitmap bm, String fileName) { if (bm == null) { Toast.makeText(this, "savePicture null !", Toast.LENGTH_SHORT).show(); Log.d("SSSSSSSSSSS", "savePicture: savePicture null "); return; } File foder = new File("/sdcard/"); if (!foder.exists()) { foder.mkdirs(); } File myCaptureFile = new File(foder, fileName); try { if (!myCaptureFile.exists()) { myCaptureFile.createNewFile(); } BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile)); bm.compress(Bitmap.CompressFormat.JPEG, 90, bos); bos.flush(); bos.close(); } catch (IOException e) { e.printStackTrace(); } Toast.makeText(this, "保存成功!", Toast.LENGTH_SHORT).show(); Log.d("SSSSSSSSSSS", "savePicture: 保存成功"); Bitmap bmpDefaultPic = null; if (bmpDefaultPic == null) bmpDefaultPic = BitmapFactory.decodeFile("/sdcard/shareimg.png", null); image.setImageBitmap(bmpDefaultPic);//显示图片}
更多相关文章
- Android 圆角图片 圆形图片
- android 调用相册里的图片并返回
- 解决TabLayout+viewpager 滑动切换时 布局文件不是从头显示
- Android 图片透明度处理代码
- Android读取服务器图片
- Picasso picasso-强大的Android图片下载缓存库
- android application级别的图片缓存
- android 图片叠加效果实现