Android将view保存为图片并放在相册中
在Android中,可以将view保存为图片并放在相册中,步骤为 view->bitmap->file,即先将view转化为bitmap,再将bitmap保存到相册中。

需要将红框标注的view转化为图片并保持到相册中。view的XML代码为
<RelativeLayout
android:id="@+id/lanjing_code_rl" //要保存的view id
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="20dp"
android:paddingBottom="10dp"
android:layout_weight="1"
android:background="@drawable/round_main_bg" > <RelativeLayout
android:id="@+id/lanjing_code_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="20dp" > <ImageView
android:id="@+id/self_head"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:background="@drawable/defaultuser" /> <TextView
android:id="@+id/self_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:layout_toRightOf="@+id/self_head"
android:gravity="center"
android:maxLines="2"
android:textColor="@color/article_black"
android:textSize="16sp"
android:textStyle="bold" /> <TextView
android:id="@+id/self_hospital"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/self_name"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="20dp"
android:layout_marginTop="3dp"
android:layout_toRightOf="@+id/self_head"
android:textColor="@color/article_gray"
android:textSize="14sp" />
</RelativeLayout> <ImageView
android:id="@+id/lanjing_code_img"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_below="@+id/lanjing_code_info"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:scaleType="fitCenter" /> <TextView
android:id="@+id/lanjing_code_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/lanjing_code_img"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:gravity="center"
android:textColor="@color/number_blue"
android:textScaleX="1.5"
android:textSize="23sp" /> <TextView
android:id="@+id/lanjing_tishi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/lanjing_code_txt"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:text="扫一扫上面的二维码图案,加我蓝鲸医生"
android:textColor="@color/solid_gray"
android:textSize="14sp" />
</RelativeLayout>
保存方法
private void saveErweima() {
File erweimaImg = FileUtilss.getErweimaImgFile(MyLanJingCode.this);
if (erweimaImg == null) {
return;
}
//lanjing_code_rl.setBackgroundColor(getResources().getColor(R.color.solid_white));
if (false == lanjing_code_rl.isDrawingCacheEnabled()) {
lanjing_code_rl.setDrawingCacheEnabled(true);
}
lanjing_code_rl.buildDrawingCache();
Bitmap bitmap = lanjing_code_rl.getDrawingCache();
String path = erweimaImg.getAbsolutePath();
FileOutputStream out = new FileOutputStream(path);
bmp.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
lanjing_code_rl.setDrawingCacheEnabled(false);
MediaScannerConnection.scanFile(MyLanJingCode.this, new String[] { Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath() + "/" + path }, null, null);
saveImgToGallery(path);
}
public boolean saveImgToGallery(String fileName) {
boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在
if (!sdCardExist)
return false;
try {
ContentValues values = new ContentValues();
values.put("datetaken", new Date().toString());
values.put("mime_type", "image/jpg");
values.put("_data", fileName);
Application app = DoctorApplication.getInstance();
ContentResolver cr = app.getContentResolver();
cr.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
这样,就能在相册中看到保持的图片了。

Android将view保存为图片并放在相册中的更多相关文章
- BitmapUtil【缩放bitmap以及将bitmap保存成图片到SD卡中】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 用于缩放bitmap以及将bitmap保存成图片到SD卡中 效果图 代码分析 bitmapZoomByHeight(Bitmap s ...
- view保存为图片
一.概述 简书.微博.便签等都有将文章保存为图片的功能.笔者臆测,此功能的实现原理如下. 二.实现 2.1将View保存成Bitmap对象 方法1(亲测有效) private Bitmap makin ...
- Android 自定义View消除锯齿实现图片旋转,添加边框及文字说明
先看看图片的效果,左边是原图,右边是旋转之后的图: 之所以把这个写出来是因为在一个项目中需要用到这样的效果,我试过用FrameLayout布局如上的画面,然后旋转FrameLayout,随之而来也 ...
- android 开发 View _13 绘制图片与BitmapShader位图的图像渲染器
BitmapShader位图的图像渲染器 TileMode 模式 Shader.TileMode.CLAMP 边缘拉伸. Shader.TileMode.MIRROR 在水平方向和垂直方向交替景象, ...
- android 开发 View _8_ 动态图片自定义View
转载地址:https://blog.csdn.net/mengks1987/article/details/77770922 先来看下效果: 是不是有一种熟悉感,其实这种效果使用序列帧动画也是可以实现 ...
- h5页面使用js实现保存当前图片到手机相册
很可惜,这个鬼东西微信内置浏览器不适用 页面: <!doctype html> <html> <head> <meta charset="UTF-8 ...
- iOS开发中,获取图片之后保存或下载到本地相册中
#pragma mark 先获取本地图片或者网络图片 - (void)saveHeaderImageWith:(NSString *)path { UIImage *img = [UIImage im ...
- Android 自定义View及其在布局文件中的使用示例(三):结合Android 4.4.2_r1源码分析onMeasure过程
转载请注明出处 http://www.cnblogs.com/crashmaker/p/3549365.html From crash_coder linguowu linguowu0622@gami ...
- android 开发 View _1_ View的子类们 和 视图坐标系图
目录: android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览 android 开发 View _3_ View的属性动画ValueAnimator a ...
随机推荐
- Quartz框架调用Demo
Quartz框架调用Demo 任务调度在JAVA应用程序中运用的十分普遍,掌握QUARTZ是必备的技能; 官网:http://www.quartz-scheduler.org/ 下载最新1.80资源包 ...
- Python3基础 map+lambda 将指定系列元素乘2
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- SpringBoot中使用mybatis-generator自动生产
步骤: 1.在pom.xml中添加插件配置 <plugin> <groupId>org.mybatis.generator</groupId> <artifa ...
- 【概念、概述】Spark入门教程[1]
本教程源于2016年3月出版书籍<Spark原理.机制及应用> ,如有兴趣,请支持正版书籍. 随着互联网为代表的信息技术深度发展,其背后由于历史积累产生了TB.PB甚至EB级数据量,由于传 ...
- js清除未知定时器的方法
js清除未知定时器的方法 在需要有实时性更新数据的项目中,我们经常会用到很多定时器,我们可能需要一个可以一次性清除所有定时器的方法,并且不通过指定ID一个一个去清除,以下提供两种解决方案: 1.定 ...
- 【转】Makefile 中:= ?= += =的区别
最近接触使用C++项目,需要使用Makefile,因此需要好好学习下. [转自]:http://www.cnblogs.com/wanqieddy/archive/2011/09/21/2184257 ...
- Jenkins+Ant/maven+Svn实现自动化部署,编译,运行,测试结果自动邮件通知
Jenkins+Ant+Svn实现自动化部署,编译,运行,测试结果自动邮件通知
- Linux——用户管理简单学习笔记(三)
用户组管理命令: groupadd -g 888 webadmin 创建用户组webadmin,其GID为888 删除用户组: groupdel 组名 修改用户组信息 groupmod groupmo ...
- Python day17 模块介绍1(time,random)
module模块和包的介绍(略掉了) 常用模块 # time模块 import time print(time.time())#时间戳,在1970年开始到现在一共多少秒 print(time.gmti ...
- Linux - 命令重定向
命令重定向, 就是将目前得到的数据转移到指定的地方.分为以下几种: >>>1>2>1>>2>>< 1. > 与 >>先看一 ...