本文主要是介绍Canvas绘制辅助---范围裁切和几何变换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.范围裁切
范围裁切有两个方法:clipRect()和clipPath()。裁切之后的绘制代码都会被限制在裁切范围内。
1.1 clipRect()
实现简单,直接使用
@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);/*** 1.1 clipRect()* 注意使用Canvas.save()和Canvas.restore()来及时恢复绘制范围*/canvas.save();canvas.clipRect(20, 20, 300, 300);canvas.drawBitmap(bitmap, 0, 0, paint);canvas.restore();}
代码执行结果:
1.2 clipPath()
实现与clipRect()几乎一致,但是参数是path,所以能裁切的形状更多一些
/*** 1.2 clipPath()* 参数使用path,可以裁切出更多的形状*/canvas.save();canvas.clipPath(path1);canvas.drawBitmap(bitmap, 0, 0, paint);canvas.restore();
代码执行结果:
2.几何变换
几何变换基本分为三类:1. 使用Canvas来进行常见的二维变换2. 使用Matrix来进行常见和不常见的二维变换3. 使用Camera进行三维变换
2.1 使用Canvas进行二维变换
分别有平移,旋转,收缩和错切四种变换方式</
这篇关于Canvas绘制辅助---范围裁切和几何变换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!