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

最新文章

  1. CentOS 6.3下Samba服务器的安装与配置
  2. linux后台查看共享内存和消息队列的命令
  3. Android adb常用指令
  4. 利用uploadify+asp.net 实现大文件批量上传。
  5. 哈希 poj 2002
  6. 当div自适应的高度超过预设的高度的时候出现滚动条的办法
  7. BZOJ-1143&&BZOJ-2718 祭祀river&&毕业旅行 最长反链(Floyed传递闭包+二分图匹配)
  8. MEANIO
  9. FFPEG 转码记录------解决了有流,但是没有码率和FPS?
  10. linux命令:rmdir
  11. ios 图片截取功能 图片拼接功能
  12. C primer plus 读书笔记第一章
  13. iOS中 学会如何对sqlite3 进行封装 (纯手工)
  14. linux下自动加载设备驱动程序模块
  15. 一道简单的CTF登录题题解
  16. qml(Qt Quick)做界面
  17. odoo开发笔记 -- 日常开发注意点小节
  18. ORA-10997:another startup/shutdown operation of this instance in progress解决方法
  19. JZOJ.5325【NOIP2017模拟8.21】九九归一
  20. C++ Builder创建和调用dll中的资源

热门文章

  1. Thinkphp+ECharts生成柱状图
  2. thinkphp5+qrcode生成二维码
  3. LOJ#505. 「LibreOJ β Round」ZQC 的游戏(最大流)
  4. js-jQuery性能优化(一)
  5. 【代码笔记】iOS-performSelector
  6. 我最喜欢用的css3之2D转换之translate用法
  7. Leaflet.draw 无法编辑multipolygon类型多边形 解决方法
  8. mvp在flutter中的应用
  9. [iOS] UICollectionView实现图片水平滚动
  10. SQL Server 跨网段(跨机房)通过备份文件初始化复制