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

    Party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  2. AMD与CMD的异同

    AMD与CMD的异同? 1.从官方推荐的写法上面得出: CMD ----- 依赖就近 //CMD define(function(require,exports,module){ var a = re ...

  3. 微信小程序-上传照片-多张显示

    图片就是一个简单的效果 实现 先看wxml和wxss代码 <view class='in-demand'> <view class='dema-title'> <text ...

  4. js-ES6学习笔记-Class(6)

    1.类相当于实例的原型,所有在类中定义的方法,都会被实例继承.如果在一个方法前,加上static关键字,就表示该方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法”. 2.父类的静态方法,可 ...

  5. <Android 应用 之路> 一个类似今日头条的APP

    简介 最近花了一两天的时间完成一个简易的新闻头条客户端的应用,引用到了SwipeRefreshLayout,CircleImageView,RxAndroid,Picasso,PhotoPicker等 ...

  6. Wireshark wireshake数据包分割及捕包过滤器介绍

    wireshake数据包分割及捕包过滤器介绍 by:授客 QQ:1033553122 wireshake自带工具editcap分割数据包 操作: 进入到目录,然后 editcap.exe -c < ...

  7. JSTL核心标签库——错误处理标签

    <c:catch>标签 Demo: 错误发生时,不转发至其他网页来显示错误信息,而在当前网页捕捉异常,并显示相关信息. <%@page contentType="text/ ...

  8. rdlc里面的textbox怎么赋值

    通过传递参数来实现 当前在rdlc页面,ctrl+alt+d,打开report data侧边栏 点击report data的Parameters文件夹,右键,添加新的参数,命名.定义类型,譬如命名为R ...

  9. 用例设计之APP用例覆盖准则

    基本原则 本文主要讨论APP功能用例的覆盖,基本原则: 用户场景闭环(从哪来到哪去) 遍历所有的实现逻辑路径 需求点覆盖 覆盖维度 APP功能用例设计主要使用传统的黑盒用例设计方法.同时,作为移动AP ...

  10. LeetCode题解之Find All Duplicates in an Array

    1.题目描述 2.问题分析 将数组中的元素 A[i] 放到 A[ A[i] - 1] 的位置.然后遍历一边数组,如果不满足 A[i] == i+1,则将A[i]添加到 结果中. 3.代码 vector ...