蜜汁画板

来源:互联网 发布:淘宝退货上门取件 编辑:程序博客网 时间:2024/04/29 03:45
public class PaletteView implements View.OnTouchListener {    private int startX;    private int startY;    private ImageView imageView;    private Paint paint;    private Canvas canvas;    private Bitmap bitmap;    @Override    public boolean onTouch(View v, MotionEvent event) {        v.getParent().requestDisallowInterceptTouchEvent(true);        switch (event.getAction()) {            case MotionEvent.ACTION_DOWN:                // 获取手按下时的坐标                startX = (int) event.getX();                startY = (int) event.getY();                break;            case MotionEvent.ACTION_MOVE:                // 获取手移动后的坐标                int stopX = (int) event.getX();                int stopY = (int) event.getY();                // 在开始和结束坐标间画一条线                canvas.drawLine(startX, startY, stopX, stopY, paint);                // 实时更新开始坐标                startX = (int) event.getX();                startY = (int) event.getY();                imageView.setImageBitmap(bitmap);                break;        }        return true;    }    public void attachTo(ImageView imageView) {        this.imageView = imageView;        // 画出Bitmap        this.imageView.setImageBitmap(this.bitmap);        imageView.setOnTouchListener(this);    }    public static PaletteView init(int width, int height) {        // new一个自己        PaletteView view = new PaletteView();        // 一张空白Bitmap        view.bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);        // 初始化画笔        view.paint = new Paint();        view.paint.setColor(Color.BLACK);        view.paint.setStrokeWidth(8);        // 初始化画布        view.canvas = new Canvas(view.bitmap);        view.canvas.drawColor(Color.WHITE);        view.canvas.drawBitmap(view.bitmap, new Matrix(), view.paint);        // 返回自己        return view;    }}

0 0
原创粉丝点击