画布可以想象成一个无穷大的空间平面,Translate平移方法,应该说是:平移坐标原点,而非移动画布
1、刚开始尝试裁剪图像为圆形
canvas.clipPath(path); //path就是根据图片大小设置的一个圆。
2、想要把图片移动到中心。
canvas.clipPath(path);
canvas.translate(centerX-width/2, centerY-height/2);
//centerX centerY是通过onSizeChanged方法得到的屏幕中心位置
3、就很奇怪,为什么移动了画布,而且图像确实移动了,但是这个被裁剪的部分,依然不变呢。
原因就是:画布是不会移动的,translate方法其实只是改变了画布上坐标轴原点的位置。
所以应该是改变坐标后,再来裁剪即可。
顺便改一下path.addCircle的半径大小