Android开发——路径剪裁遮罩clipPath

Home / Android MrLee 2016-3-10 4486

在写文章前说一点,有人可能先前遇到过,就是clipPath有些手机运行正常,有些却不正常。我们关闭硬件加速即可。activity声明里加入这段
android:hardwareAccelerated="false"

此方法在游戏开发使用非常常见,在普通的APP中也是常见的,如圆角头像,翻书的效果……

002E6AC7-6A19-48AF-AF3C-85057B082FAE


我们这里就用翻书效果为例子,列出片段代码,完整的请移步 安卓阅读翻书效果
    private void drawCurrentPageArea(Canvas canvas, Bitmap bitmap, Path path) {
        mPath0.reset();
        mPath0.moveTo(mBezierStart1.x, mBezierStart1.y);
        mPath0.quadTo(mBezierControl1.x, mBezierControl1.y, mBezierEnd1.x,
                mBezierEnd1.y);
        mPath0.lineTo(mTouch.x, mTouch.y);
        mPath0.lineTo(mBezierEnd2.x, mBezierEnd2.y);
        mPath0.quadTo(mBezierControl2.x, mBezierControl2.y, mBezierStart2.x,
                mBezierStart2.y);
        mPath0.lineTo(mCornerX, mCornerY);
        mPath0.close();
 
        canvas.save();
        canvas.clipPath(path, Region.Op.XOR);
        canvas.drawBitmap(bitmap, 0, 0, null);
        canvas.restore();
    }

 

本文链接:https://it72.com/7942.htm

推荐阅读
最新回复 (0)
返回