a base android <Canvas>

public class CanvasActivity extends AppCompatActivity {

    String TAG="test2";
    ImageView imageView;
    Canvas canvas;
    Paint paint;
    int startX=0;
    int startY=0;
    Bitmap bitmap;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        imageView=(ImageView)findViewById(R.id.imageView);
        init();
    }
    private void init() {
        //创建空白画布
        = Bitmap.createBitmap Bitmap (getWindowManager () getDefaultDisplay () getWidth (), getWindowManager () getDefaultDisplay () getHeight (), Bitmap.Config.ARGB_4444....); 
        Canvas the Canvas new new = (Bitmap); 
        // set the canvas background color 
        canvas.drawRGB (0xAA, 0xAA, 0xAA); 
        Paint new new = the Paint (); 
        // set the brush width 
        paint.setStrokeWidth (10); 
        // set brush color 
        paint.setColor (0xFFFF0000); 
        imageView.setImageBitmap (Bitmap ); 
        imageView.setOnTouchListener (new new View.OnTouchListener () { 
            @Override 
            public Boolean OnTouch (View V, the MotionEvent Event) { 
                IF (event.getAction () == MotionEvent.ACTION_DOWN) { 
                    Log.e (the TAG, "ACTION_DOWN0"); 
                    = startX (int) (event.getX ()); 
                    the startY is = (int) (event.getY ()); 
                } the else IF (event.getAction () == MotionEvent.ACTION_MOVE) {
                    Log.e(TAG,"ACTION_MOVE  startX="+startX +"  startY="+startY +"   v.getX()="+(int)event.getX() +"   v.getY()="+(int)event.getY());
                    canvas.drawLine(startX,startY,(int)event.getX(),(int)event.getY(),paint);
                    startX=(int)(event.getX());
                    startY=(int)(event.getY());
                    imageView.setImageBitmap(bitmap);
                }else if(event.getAction()==MotionEvent.ACTION_UP){
                    Log.e(TAG,"ACTION_UP");

                    try {
                        Path = Environment.getExternalStorageDirectory String () + + File.separator "test.png"; 
                        FileOutputStream fileOutputStream = new FileOutputStream(path);
                        bitmap.compress (Bitmap.CompressFormat.PNG, 100, FileOutputStream); // save the image 
                        canvas.drawRGB (0xAA, 0xAA, 0xAA) ; / / Clear data drawing board 
                        imageView.setImageBitmap (Bitmap); 
                    } the catch (Exception EX) { 

                    } 
                } 
                return to true; 
            } 
        }); 


    }

  

Guess you like

Origin www.cnblogs.com/jtzp007/p/11564238.html
Recommended