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,都是运行结果一闪而过,然而我们所要的肯定不是只看一下运行结果就完事的,很多情况下,我们都希望能够把运行结果的图像. ...
随机推荐
- 【xsy1154】 DNA配对 FFT
题目大意:给你一个字符串$s$和字符串$w$,字符集为${A,T,C,G}$,你要在字符串$s$中选出一个与$w$长度相同的子串,使得这两个串的差异度最小. 两个字符$c1$,$c2$的差异度为给定的 ...
- nodeJS搭建一个简单的(代理)web服务器
前端获取数据时经常遇见跨域问题,以前一直用nginx做反向代理.最近在用vuejs,发现webpack-dev-server的代理简单好用.于是仿照写了一个简单的web服务器,用于非webpack的项 ...
- U8API——向U8数据库表导入数据
一.打开API资源管理器 替换两个引用 打开应用实例,选择相应的功能 复制相应的封装类到自己的目录下 在数据库新建临时表,与目标表相同 数据导入: 思路:先将要导入的数据导入到与U8目标表相同的临时表 ...
- hadoop2.x 异常
运行mr,出现如下异常 需要配置yarn-site.xml中配置如下信息 参考地址: https://issues.apache.org/jira/browse/MAPREDUCE-2983 http ...
- 【树】Kth Smallest Element in a BST(递归)
题目: Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. ...
- Javac语法糖之Enum类
枚举类在Javac中是被当作类来看待的. An enum type is implicitly final unless it contains at least one enum constant ...
- 【转】Hadoop vs Spark性能对比
原文地址:http://www.cnblogs.com/jerrylead/archive/2012/08/13/2636149.html 基于Spark-0.4和Hadoop-0.20.2 1. K ...
- vue2.0实现底部导航切换效果
使用vue2.0写移动端的时候,经常会写底部导航效果,点击切换路由效果,实现图片和文字颜色切换.vue2.0也提供了很多ul框架供我们实现效果,今天就用原生的实现一个底部导航切换,直接上代码: 效果图 ...
- Redis笔记(一):Redis安装教程
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis是目前应用最广泛的内存数据存储技术,相比之前的Me ...
- JAVA-5NIO之Selector
转载:并发编程网:ifeve.com NIO教程 Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件.这样,一个单独的线程可以管理 ...