您的位置:首页 > 移动开发 > Android开发

android之旅23 多媒体处理2: 画画板

2016-01-06 20:37 393 查看

触摸事件

public void click(View v){
//获取ImageView实例iv....

//设置触摸事件
iv.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent me){
int action = me.getAction();
switch(action){
case MotionEvent.ACTION_DOWN:
...
case MotionEvent.ACTION_MOVE:
// 保存前后的坐标,画出直线
int x = me.getX();
int y = me.getY();

。。。。

// 画笔设置颜色和宽度
Paint paint = new Paint();
paint.setColor(Color.RED);// 保存颜色
paint.setStrokeWidth(7); // 保存笔的宽度

iv.setImageBitmap(bmCpy);//要重新载入下

...
case MotionEvent.ACTION_UP:
...
}
//返回TRUE表示事件由当前View处理
//返回false初始事件会得到,后续事件会给父节点处理
return true;
}
});
}


//图片保存
public void save(View v){
File file = new File("xxx.png");
fos = new FileOutputStream(file);
//100代表压缩比例, 取值0-100,compress保存图片
bmCpy.compress(CompressFormat.PNG, 100, fos);

/*
安卓每次启动的时候,也就是SD卡准备的时候,会遍历SD卡所有文件,将相关信息(文件名、路径、大小)保存到MediaStore数据库中
而图库、音乐、视频启动的时候,找的是数据库的数据,然后显示给界面,因此上面的图片保存在图库里面是看不到的,需要重启手机重新遍历
*/

//针对上面的问题,也可以发送就绪广播,这个是无序广播
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MEDIA_MOUNTED);
intent.setData(Uri.fromFile(Enviroment.getExternalStorageDirectory()));
sendBroadcast(intent);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: