Android 绘图进阶(三):Xfermode绘制图片的保存
2015-09-18 22:05
344 查看
本篇博客是承接上一篇Android 绘图进阶(二):Xfermode绘制涂层博客继续写进行的。在上次的内容中我们事先了一种涂层的效果,可以使用手指滑动,显露底层的背景图片,如果绘制的图片我们想要进行保存,就好像我们平时上传图片,将不想被别人看到的信息进行马赛克,之后需要进行图片的保存再上传到网络上面,那么我们要怎样实现呢?
首先在布局中添加一个Button用于保存图片,之后我们通过对Button按钮的点击事件进行监听,创建一个file(使用系统时间作为文件名),通过Bitmap的compress方法将图片进行压缩保存。
下***体来看一下代码:
[code]public class MainActivity_bitmap2 extends Activity implements OnClickListener{ private Button mbtn_bitmap2; private MyBitmapView2 bitmap2; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.bitmap_view2); mbtn_bitmap2=(Button) findViewById(R.id.btn_bitmapview2); bitmap2=(MyBitmapView2) findViewById(R.id.bitmap2); mbtn_bitmap2.setOnClickListener(this); } @Override public void onClick(View v) { //创建输出文件 File file=new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".jpg"); //不进行刷新的话,如果连续点击两次按钮,两次保存的图片会一样 bitmap2.invalidate(); //想要保存图片,必须设置setDrawingCacheEnabled使能 bitmap2.setDrawingCacheEnabled(true); //创建输出的Bitmap,用于存放 Bitmap bitmapnew=bitmap2.getDrawingCache(); if(!file.exists()){ try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } try { Log.d("路径", file.getAbsolutePath()); //通过compress将图片压缩,并放入file流中 //参数100指的是不进行压缩,压缩率为0,如果参数为30,则30 是压缩率,表示压缩70% bitmapnew.compress(CompressFormat.JPEG,100, new FileOutputStream(file)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
最后不要忘记添加权限
[code] <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
效果图:
上图中我们可以看到在sdcard中我们可以找到以时间为文件名的图片。
相关文章推荐
- Android BaseAdapter
- Android 权限大全
- 创建一个服务
- Android自定义View——动态ProgressBar之模仿360加速球
- Android自定义View---Canvas绘制贝塞尔曲线
- Android自定义View---圆形进度条
- Android基本控件
- Android自定义View---模拟球形动态加速球
- Android自定义View之图形图像(模仿360的刷新球自定义一个SeekBar)
- Android公共库的建立方法
- Android自定义View---PorterDuffXfermode两个交叠图形的显示
- Android公共库的建立方法
- Android-自定义属性的使用
- Android设置透明、半透明等效果
- 为 Activity 设置切换动画
- Android之Color颜色值和RGB颜色对照表
- Android绘图:360加速球
- Android 自定义View——蒙版擦除效果实现
- android selector 小坑
- Android绘图:Canvas绘制联系人姓氏侧滑列表