布局文件:

        


MainActivity:

public class MainActivity extends Activity {                         private Button button;    private ImageView p_w_picpathView;    private Bitmap baseBitmap;    private Canvas canvas;    private Paint paint;                             @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        p_w_picpathView=(ImageView) findViewById(R.id.iv);                                 paint=new Paint();        paint.setColor(Color.BLUE);                                 //创建一个可修改的Bitmap        baseBitmap=Bitmap.createBitmap(480, 320, Bitmap.Config.ARGB_8888);        canvas=new Canvas(baseBitmap);        canvas.drawColor(Color.WHITE);                                 p_w_picpathView.setOnTouchListener(new OnTouchListener() {            //定义手指坐标            int startx;            int starty;                                                 @Override            public boolean onTouch(View v, MotionEvent event) {                switch (event.getAction()) {                case MotionEvent.ACTION_DOWN:                                                         startx=(int) event.getX();                    starty=(int) event.getY();                                 break;                case MotionEvent.ACTION_MOVE:                    int newx=(int) event.getX();                    int newy=(int) event.getY();                    canvas.drawLine(startx, starty, newx, newy, paint);                    //跟新画笔的开始位置                    startx=(int) event.getX();                    starty=(int) event.getY();                     p_w_picpathView.setImageBitmap(baseBitmap);                    break;                case MotionEvent.ACTION_UP:                                                         break;                }                return true;            }        });        }    public void save(View v) {                                 try {            File file=new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".jpg");            FileOutputStream fos=new FileOutputStream(file);            baseBitmap.compress(CompressFormat.JPEG, 100, fos);//第一个参数为图片格式            fos.close();            Toast.makeText(this, "保存图片成功", 2000).show();            //模拟消息:SD卡被重新挂载了            Intent intent=new Intent();            intent.setAction(intent.ACTION_MEDIA_MOUNTED);            intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));            sendBroadcast(intent);        } catch (FileNotFoundException e) {            Toast.makeText(this, "保存图片失败", 2000).show();            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }                  }}


因为要存入SD中,所以还要加一个权限:


运行结果:


更多相关文章

  1. android剪切圆角图片的方法
  2. Android判断文件类型(视频、音频、图片等)
  3. Android之SharedPreferences轻量数据存储
  4. Android如何从服务器获取图片
  5. Android:Gallery
  6. Android(安卓)--- 图片处理的方法
  7. Android(安卓)调用Camera和相册
  8. android三种载入图片方式
  9. Android(安卓)HTTP GET/POST

随机推荐

  1. android实现卸载提示
  2. Android(安卓)Activity onConfigurationC
  3. Android(安卓)RelativeLayout用到的一些
  4. Android面试题集(2019-04-04总结)
  5. android Progress style (长进度条)
  6. Android(安卓)EditText
  7. Android(安卓)分类法:六个类型,八种用户
  8. Virtual Box 虚拟机安装Android
  9. Android进程,任务,服务的信息
  10. 浅析Android线程模型一 --- 转