android canvas Rotate 图片中心旋转

本文介绍了在Android中使用Canvas进行图片旋转时如何使其以自身中心点为旋转点的详细步骤,包括矩阵操作和代码实例。通过移动旋转中心、执行旋转、调整位置和绘制,实现了图片的精确旋转。
部署运行你感兴趣的模型镜像

工作需求,需要canvas绘制图片并且让该图片以自身的中心点为中心旋转。

起初想的很简单,canvas.rotate不得了么。

然后实现起来确实不是那么简单。

楼主在Google上翻阅了很多的论坛。

以下就是楼主的汇总资料,和大家分享一下,有不足的地方请指正,共同学习、谢谢大笑



首先canvas绘制旋转的时候是按照某个点进行旋转的。



但如何是这个矩形的图片按照自己的中心点B进行旋转呢?

canvas.drawBitmap(bits, matrix, null);

这种绘制方式即可。


分布处理:

1、把旋转中心点移动到B点

2、旋转

3、移动到绘制点

4、绘制


代码如下:

Bitmap bits = BitmapFactory.decodeResource(this.getResources(), R.drawable.ttt);
Bitmap bit2 = BitmapFactory.decodeResource(this.getResources(), R.drawable.sss);

canvas.drawBitmap(bit2,this.getWidth()/2-bit2.getWidth()/2, this.getHeight()/2-bit2.getHeight()/2, null);



    Matrix matrix = new Matrix();
    matrix.postTranslate(-bits.getWidth()/2, -bits.getHeight()/2);//步骤1
    matrix.postRotate(45);//步骤2
    matrix.postTranslate(this.getWidth()/2,this.getHeight()/2);//步骤3  屏幕的中心点
    canvas.drawBitmap(bits, matrix, null);//步骤4
    matrix.reset();




您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值