中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Android橡皮擦效果

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用
public class ActionView extends View {
    private Paint mPaint = new Paint();
    private Path mPath = new Path();//手指滑動路徑
    private Canvas mCanvas;//緩存畫布
    private Bitmap mBitmap;//緩存圖片
    private float pointX, pointY;//觸點坐標(biāo)

    public ActionView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);

        int width = getMeasuredWidth();
        int height = getMeasuredHeight();

        initPaint();//初始化畫筆

        mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); //初始化Bitmap
        mCanvas = new Canvas(mBitmap);
        mCanvas.drawColor(Color.parseColor("#c0c0c0"));//設(shè)置畫板背景

    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        Bitmap mBackBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bg);
        canvas.drawBitmap(mBackBitmap, 0, 0, null);

        mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
        mCanvas.drawPath(mPath, mPaint);

        canvas.drawBitmap(mBitmap, 0, 0, null);
    }


    @Override
    public boolean onTouchEvent(MotionEvent event) {
        pointX = event.getX();
        pointY = event.getY();
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                mPath.moveTo(pointX, pointY);//將路徑移動到點(pointX, pointY),不繪制
                break;
            case MotionEvent.ACTION_MOVE:
                mPath.lineTo(pointX, pointY);//繪制一條從上個觸點到點(pointX, pointY)的線條
                break;
        }
        invalidate();//重新繪圖
        return true;
    }

    private void initPaint() {//初始化畫筆
        mPaint.setDither(true);//設(shè)定是否使用圖像抖動處理,會使繪制出來的圖片顏色更加平滑和飽滿,圖像更加清晰
        mPaint.setAntiAlias(true);//設(shè)置抗鋸齒
        mPaint.setStrokeWidth(30);
        mPaint.setColor(Color.RED);//設(shè)置畫筆顏色
        mPaint.setStyle(Paint.Style.STROKE);
        mPaint.setStrokeCap(Paint.Cap.ROUND);
        mPaint.setStrokeJoin(Paint.Join.ROUND);//圓角
        mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST));
    }

}

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:iOS獲取設(shè)備信息常用方法

下一篇:Android刮刮樂實現(xiàn)代碼