Android 图板之保存图像
(1)为了能适应多种屏幕尺寸的手机,我们在创建图像的时候就要根据用户手机屏幕的宽高像素来创建。
(2)该软件将把图形保存到sdcard中,在保存之前,需要检测sdcard是否存在,是否可写入。如通过以上检查,就保存图像。
首先,我们应该检测sdcard的状态,如果不可写入,则给出提示:
public void saveBitmap()
{
String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state))
{
saveToSdcard();
}
else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
{
Toast.makeText(this.context,
getResources().getString(R.string.tip_sdcard_is_read_only),
Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(
this.context,
getResources().getString(
R.string.tip_sdcard_is_not_available),
Toast.LENGTH_LONG).show();
}
}
当sdcard存在且可写入时,我们就把图像保存到sd卡中:
private void saveToSdcard()
{
File sdcard_path = Environment.getExternalStorageDirectory();
String myFloder = getResources().getString(
R.string.folder_name_in_sdcard);
File paintpad = new File(sdcard_path + "/" + myFloder + "/");
try
{
if (!paintpad.exists())
{
paintpad.mkdirs();
}
}
catch (Exception e)
{
e.printStackTrace();
} String timeStamp = (DateFormat.format("yyyy.MM.dd.hh.mm.ss",
new java.util.Date())).toString();
String suffixName = ".png"; String fullPath = "";
fullPath = sdcard_path + "/" + myFloder + "/" + timeStamp + suffixName;
try
{
Toast.makeText(this.context,
getResources().getString(R.string.tip_save_to) + fullPath,
Toast.LENGTH_LONG).show();
bitmap.compress(Bitmap.CompressFormat.PNG, ,
new FileOutputStream(fullPath));
}
catch (FileNotFoundException e)
{
Toast.makeText(
this.context,
getResources().getString(R.string.tip_sava_failed)
+ fullPath, Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
Android 图板之保存图像的更多相关文章
- 孙鑫MFC学习笔记11:保存图像
1.CPtrArray指针数组 2.CPtrArray返回void指针,需要做类型转换 3.View类中的OnPaint调用OnPrepareDC和OnDraw,如果覆盖OnPaint,就不会调用On ...
- Android图像格式类及图像转换方法
Android图像格式类及图像转换方法介绍 一款软件的开发和图像密切相关,特别是移动应用程序,在视觉效果等方面是至关重要的,因为这直接关系到用户的体验效果.在Android程序开发的过程中,了解存在哪 ...
- opencv载入,显示及保存图像
1.声明一个表示图像的变量,在OpenCV2中,这个变量是cv::Mat类型,该类是用于保存图像以及其他矩阵数据的数据结构.默认情况下它们的尺寸为0. cv::Mat image; // ...
- Opencv怎么读入,显示,保存图像-OpenCV步步精深
怎么读入图像呢? 我们用 img = cv2.imread('图像路径\原图像名称',0) 原图像名称要有后缀 .png , .jpg等等原图像带有的后缀. 这里我们着重说明一下图像路径,这个路径一定 ...
- python使用h5py读取mat文件数据,并保存图像
1 安装h5py sudo apt-get install libhdf5-dev sudo pip install h5py 假设你已经安装好python和numpy模块 2 读取mat文件数据 i ...
- opencv2.4.13+python2.7学习笔记--opencv中的Gui特性--图片:读图像,显示图像,保存图像
阅读对象:可以配置opencv+Python环境的任何人,毕竟写这篇文章的人就是小白. 1.环境说明 1.1opencv版本: 1.2Python版本: 1.3系统:win7 注: (1)opencv ...
- python之OpenCv(二)---保存图像
1.使用opencv保存图像 cv2.imwrite(存储路径,图像变量[,存盘标识]) 存盘标识: cv2.CV_IMWRITE_JPEG_QUALITY 设置图片格式为.jpeg或者.jpg的图 ...
- opencv-python教程学习系列2-读取/显示/保存图像
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的读取.显示以及保存,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: ...
- 【OpenPose-Windows】运行OpenposeDemo.exe 如何保存图像运行结果及关节点信息
跑过很多次openposeDemo了,不管是video.Webcam还是Images,都是运行结果一闪而过,然而我们所要的肯定不是只看一下运行结果就完事的,很多情况下,我们都希望能够把运行结果的图像. ...
随机推荐
- 【DB2】关闭表的日志功能
2018.11.19 客户遇到一个问题,在import数据的时候,产生了大量的日志,客户的数据库是HADR模式,通过评估,这几张表是可以允许在备库上不查询的,表中的数据时临时的. 方案一:修改脚本,将 ...
- Spring Security构建Rest服务-0800-Spring Security图片验证码
验证码逻辑 以前在项目中也做过验证码,生成验证码的代码网上有很多,也有一些第三方的jar包也可以生成漂亮的验证码.验证码逻辑很简单,就是在登录页放一个image标签,src指向一个controller ...
- java 中几种常用数据结构
Java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类. 一.几个常用类的区别 1.A ...
- docker - 修改镜像/容器文件或者 "Docker root dir" 的在宿主机上的存储位置
背景 之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右.现在随着程序运行,有 ...
- elasticsearch插件安装之--linux下安装及head插件
/** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ 安装和学习可参照官方文档: 1, 安装 # 下载, 获取不成 ...
- linux下c的网络编程---转载
1.tcp协议
- It is likely that the remote side declared peer gone on this JVM
java.net.ConnectException: t3://host:port: Bootstrap to host/host:port failed. It is likely that the ...
- JavaScript初级面试题
前面几题是会很基础,越下越有深度. 初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型: ...
- ruby + phantomjs 自动化测试 - GA
说起测试GA,真是一件枯燥乏味,重复性很高的工作,那么为什么我们不使用自动化测试代替它呢,显然,很多公司的产品迭代太快,ga也变化的比较频繁,但是确保ga工作正常,对于其他部门的工作是有很大帮助的,由 ...
- angularjs 从外部改变controller内的数据
var appElement = document.querySelector('[ng-controller=seatsCtrl]'); var $scope = angular.element(a ...