通过前两篇文章,问们学会了怎样拼接图片、给拼接好的图片加上边框样式,但这还不够,忙活了大半天 终于拼接好并给图片美化了,但是程序一旦推出,之前做的工作都白费了。这时我们会想,能不能把拼接好的图片保存起来,以便程序退出后我们仍然能够查看?当然可以。下面就讲讲具体怎样保存绘制好的Bitmap;

操作步骤:

  1.得到我们创建的那个Bitmap(拼接好的那个)

bitmap = newBitmap(bit1,bit2);

  2.将该Bitmap传递给要保存的方法

//保存拼接好的bitmap
saveBitmapToSdcard(bitmap);

下面是具体保存方法和调用该方法的代码:

1.保存代码

/**
* 将bitmap保存到内存卡中
* @param bitmap
*/
private void saveBitmapToSdcard(Bitmap bitmap){
File file = new File("/mnt/sdcard/graphics");
if(!file.exists()){//如果目录不存在就创建目录
file.mkdir();
}
FileOutputStream out = null;
try{
out = new FileOutputStream(file);
if(bitmap != null){
/*
* 三个参数的含义分别是:
* 1.保存图片的格式
* 2.标识图片质量0~100.质量越小压缩的越小(这里设置100标识不压缩)。另外如果图片是png格式,压缩是无损的,将忽略此参数(设置无效)
* 3.向OutputStream写入图片数据
*/
bitmap.compress(CompressFormat.JPEG, 100, out);
out.flush();
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(out != null){
out.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}

2.调用代码:这个地方自己可以随意写在任意可能的地方。但是要注意重新开启一个新的线程来操作IO流。另外还要加上操作内存卡的权限

public JointBitmapView(Context context,Bitmap bit1,Bitmap bit2) {
super(context);
bitmap = newBitmap(bit1,bit2);
new Thread(){
public void run() {
//保存拼接好的bitmap
saveBitmapToSdcard(bitmap);
};
}.start(); }

3.备注:如果需要看完整代码,需要参考上两篇博客的代码。

http://www.cnblogs.com/tony-yang-flutter/p/3559866.html

Android 将拼接好并加上边框的图片保存到内存卡中的更多相关文章

  1. React Native之图片保存到本地相册(ios android)

    React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...

  2. android Listview 软引用SoftReference异步加载图片

    首先说一下,android系统加载大量图片系统内存溢出的3中解决方法: (1)从网络或本地加载图片的时候,只加载缩略图.这个方法的确能够少占用不少内存,可是它的致命的缺点就是,因为加载的是缩略图,所以 ...

  3. [webkit移动开发笔记]之如何去除android上a标签产生的边框(转)

    转载地址:http://www.cnblogs.com/PeunZhang/archive/2013/02/28/2907708.html 去年年底,做完最后一个项目就可以开开心心回家,可是在测试阶段 ...

  4. [webkit移动开发笔记]之如何去除android上a标签产生的边框

    去年年底,做完最后一个项目就可以开开心心回家,可是在测试阶段,发现了不少bug,为了不影响回家时间,加班加点也要解决这些问题,这里算是工作回忆,也算是工作的一点小总结. 在ios4+和android2 ...

  5. 去除Android打开软件出现的红边框

    /********************************************************************** * 去除Android打开软件出现的红边框 * 说明: ...

  6. Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复

    Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...

  7. Android:使用ViewPager实现左右滑动切换图片(图上有点点)

    在以下实例的基础上加上点点 Android:使用ViewPager实现左右滑动切换图片 (简单版) 效果预览: 因为要把点点放图片上,所以修改布局为相对布局: <?xml version=&qu ...

  8. iOS开发Quzrtz2D 十:圆形图片的绘制以及加边框圆形图片的绘制

    一:圆形图片的绘制 @interface ViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageV; @en ...

  9. android网络编程--从网络下载图片,并保存到内存卡

    功能1:从网络上取得的图片显示到imageview上面,生成Bitmap时有两种方法,一种是先转换为byte[],再生成bitmap:一种是直接用InputStream生成bitmap.功能2:点击按 ...

随机推荐

  1. ESB企业服务总线

    ESB是企业服务总线(Enterprise Service Bus)的缩写,是中间件技术与Web Service等技术结合的产物,也是SOA系统中的核心基础设施.ESB就是一个服务的中介,形成服务使用 ...

  2. MySQL入门详解(一)---mysql的语言

    MySQL语言分为:DCL(数据库控制语言).DDL(数据库定义语言).DQL(数据库查询语言).DML(数据库操作语言),这一节我们先从mysql的语言开始. DCL:数据库控制语言,用来设置数据库 ...

  3. WeUI移动页面实现时间选择器(年-月-日-时-分)

    在做微信公众号的时候,使用的WeUI样式,有一个需求是用户选择一个预约时间,需要年月日并精确到小时和分钟. 但是WeUI的picker组件不支持直接显示5列,根据WeUI.js作者的建议,是将日期和时 ...

  4. 前端了解即可:postman(接口测试)的使用

    postman的使用,前端了解即可.因为都是一些工具的应用,截图比较多,之前在有道云笔记上总结记录过,在这不在写了,展示一张笔记截图. 此文仅做参考一下,有不足之处,欢迎指正:

  5. hibernate动态表名映射

    引自:http://blog.csdn.net/xvshu/article/details/39187779 最近的一个项目有一个需求,有N个考核单位,要对每个考核单位生成一张考核情况表,这样做的目的 ...

  6. Spring Boot -05- 多模块结构项目构建与测试(详细图文教程)IDEA 版

    Spring Boot -05- 多模块结构项目构建与测试(详细图文教程)IDEA 版 百度很多博客都不详细,弄了半天才把 Spring Boot 多模块项目构建开发整的差不多,特地重新创建配置,记录 ...

  7. hadoop中实现java网络爬虫

    这一篇网络爬虫的实现就要联系上大数据了.在前两篇java实现网络爬虫和heritrix实现网络爬虫的基础上,这一次是要完整的做一次数据的收集.数据上传.数据分析.数据结果读取.数据可视化. 需要用到 ...

  8. Python 数据分析基础小结

    一.数据读取 1.读写数据库数据 读取函数: pandas.read_sql_table(table_name, con, schema=None, index_col=None, coerce_fl ...

  9. Oracle EBS OM 删除订单行

    DECLARE l_header_rec OE_ORDER_PUB.Header_Rec_Type; l_line_tbl OE_ORDER_PUB.Line_Tbl_Type; l_action_r ...

  10. C# socket 发送图片和文件

    先说服务端:界面:如图: 界面设计源码 namespace SocketJPGToTxt { partial class Form1 { /// <summary> /// 必需的设计器变 ...