博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 图板之保存图像
阅读量:6087 次
发布时间:2019-06-20

本文共 2189 字,大约阅读时间需要 7 分钟。

(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, 100,                    new FileOutputStream(fullPath));        }        catch (FileNotFoundException e)        {            Toast.makeText(                    this.context,                    getResources().getString(R.string.tip_sava_failed)                            + fullPath, Toast.LENGTH_LONG).show();            e.printStackTrace();        }    }

 

转载地址:http://mfvwa.baihongyu.com/

你可能感兴趣的文章
git使用基础操作
查看>>
在vc6中使用PCRE-8.33
查看>>
Oracle PL/SQL
查看>>
spark内存管理
查看>>
EAS BOS 设置提交单据不引用编码规则
查看>>
Ant标签集
查看>>
tomcat url-pattern 源码一看即懂系列
查看>>
尚硅谷公开课--struts2--6--result
查看>>
微信nickname乱码(emoji)及mysql编码格式设置(utf8mb4)解决的过程
查看>>
libuv 与 libev 的对比
查看>>
Windows环境下安装Maven
查看>>
JFinal SQL脚本插件
查看>>
1066未做
查看>>
用jQuery Masonry快速构建一个瀑布流网站布局
查看>>
C++/CLI思辨录之拷贝构造函数
查看>>
uliweb自动测试url的脚本
查看>>
云计算敏捷开发让SaaS快速发展
查看>>
centos NFS局域网磁盘文件共享服务安装与配置
查看>>
常用Web测试方法
查看>>
数组名和指针
查看>>