zoukankan      html  css  js  c++  java
  • 团队博客

    还是老问题……

    Paint paint = null;             //定义画笔
        Bitmap originalBitmap = null;   //存放原始图像
        Bitmap new1_Bitmap = null;      //存放从原始图像复制的位图图像
        Bitmap new2_Bitmap = null;      //存放处理后的图像
        float startX = 0,startY = 0;    //画线的起点坐标
        float clickX = 0,clickY = 0;    //画线的终点坐标
        boolean isMove = true;      //设置是否画线的标记
        boolean isClear = false;        //设置是否清除涂鸦的标记
        int color = Color.GREEN;        //设置画笔的颜色(绿色)
        float strokeWidth = 2.0f;       //设置画笔的宽度
    public HandWrite(Context context, AttributeSet attrs)
        {
            super(context, attrs);
            originalBitmap = BitmapFactory
                    .decodeResource(getResources(), R.drawable.cy)
            .copy(Bitmap.Config.ARGB_8888,true);
            new1_Bitmap = Bitmap.createBitmap(originalBitmap);
        }
    public Bitmap HandWriting(Bitmap o_Bitmap)
        {
            Canvas canvas = null;
            if(isClear) {
            canvas = new Canvas(new2_Bitmap);
        }
             else{
            canvas = new Canvas(o_Bitmap);
        }
            paint = new Paint();
            paint.setStyle(Paint.Style.STROKE);
            paint.setAntiAlias(true);
            paint.setColor(color);
            paint.setStrokeWidth(strokeWidth);
            if(isMove)
            {
                canvas.drawLine(startX, startY, clickX, clickY, paint);
            }
            startX = clickX;
            startY = clickY;
            if(isClear)
            {
                return new2_Bitmap;
            }
            return o_Bitmap;
        }
    public boolean onTouchEvent(MotionEvent event)
        {
            clickX = event.getX();
            clickY = event.getY();
            if(event.getAction() == MotionEvent.ACTION_DOWN)
            {
                isMove = false;
                invalidate();
                return true;
            }
            else if(event.getAction() == MotionEvent.ACTION_MOVE)
            {
                isMove = true;
                invalidate();
                return true;
            }
            return super.onTouchEvent(event);
        }
  • 相关阅读:
    ECMAScript2017之async function
    ES3之closure ( 闭包 )
    RxJS之AsyncSubject
    RxJS之BehaviorSubject
    RxJS之Subject主题 ( Angular环境 )
    RxJS之工具操作符 ( Angular环境 )
    RxJS之转化操作符 ( Angular环境 )
    RxJS之过滤操作符 ( Angular环境 )
    RxJS之组合操作符 ( Angular环境 )
    关于Qt的StyleSheet作用范围
  • 原文地址:https://www.cnblogs.com/hfy717/p/14904915.html
Copyright © 2011-2022 走看看