简易画板-保存文件-刷新图库

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn1 = (Button) findViewById(R.id.btn1);
        iv = (ImageView) findViewById(R.id.iv);
        final Bitmap bitmap = BitmapFactory.decodeFile("/storage/sdcard/blank_500_500.png");
        //只能在副本图片上修改
        final Bitmap copyBitmap = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),bitmap.getConfig());
        final Canvas canvas = new Canvas(copyBitmap);
        final Paint paint = new Paint();
        paint.setColor(Color.RED);
        //线的宽度
        paint.setStrokeWidth(6);
        if (bitmap != null) {
            iv.setImageBitmap(copyBitmap);
        }
        iv.setOnTouchListener(new View.OnTouchListener() {
            int startX = 0;
            int startY = 0;
            int endX = 0;
            int endY = 0;
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int action = event.getAction();
                switch (action) {
                    case MotionEvent.ACTION_DOWN:
                        startX = (int) event.getX();
                        startY = (int) event.getY();
                    case MotionEvent.ACTION_UP:
                        break;
                    case MotionEvent.ACTION_MOVE:
                        endX = (int) event.getX();
                        endY = (int) event.getY();
                        canvas.drawLine(startX,startY,endX,endY,paint);
                        startX = endX;
                        startY = endY;
                        iv.setImageBitmap(copyBitmap);
                }
                return true;//true
            }
        });
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                OutputStream os = null;
                try {
                    os = new FileOutputStream(new File("/storage/sdcard/"+ SystemClock.uptimeMillis()+".jpg"));
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }
                copyBitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
                Log.i(TAG, "onClick: " + Environment.getExternalStorageDirectory());

                File dir = Environment.getExternalStorageDirectory();
                ArrayList list = new ArrayList();
                if (dir.isDirectory()) {
                    File[] files = dir.listFiles();
                    for (int i = 0; i < files.length; i++) {
                        list.add(files[i].getAbsolutePath());
                    }
                }
                String[] paths = new String[list.size()];
                list.toArray(paths);
                MediaScannerConnection.scanFile(MainActivity.this, paths, null, null);
            }
        });
    }

 

posted @ 2016-07-21 14:42  一路向北中  阅读(301)  评论(0编辑  收藏  举报