Andorid - canvas画布 - 抽象认知和移动

画布可以想象成一个无穷大的空间平面,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的半径大小
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值