Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 在SurfaceView中像定时器一样在固定点旋转位图大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用于时钟指针的可绘制文件夹中的图像.我想像定时器一样在固定点旋转它.我试过下面的代码,它绕着固定点绕圆形路径旋转,但不像时钟指针那样.

@H_532_7@matrix matrix = new Matrix(); matrix.reset(); matrix.preTranslate(0,0); matrix.postRotate(angleRotation,-0,-0); matrix.postTranslate(240,480); canvas.drawColor(Color.WHITE); canvas.drawBitmap(bitmap,matrix,null);

我正在努力工作几个小时才能解决它.任何帮助将不胜感激.

我试过下面的链接也没有成功.

> SurfaceView,draw image and reduce size,rotate image
> Android: How to rotate a bitmap on a center point
> How to rotate a bitmap in Android about images center smoothly without oscillatory movement

解决方法

我找到了答案.让px和py成为画布上的任意一点. bitmap.getWidth()/ 2是位图宽度的中间点.它可以是x cordinate的任何一点.对于y cordinate我把它取为10. angleRotation是根据需要的角度.

所以matrix.postTranslate(-bitmap.getWidth()/ 2,-10);是轮换点.

下面是代码.

@H_532_7@matrix matrix = new Matrix(); matrix.reset(); Paint paint = new Paint(); float px = 240; float py = 480; matrix.postTranslate(-bitmap.getWidth()/2,-10); matrix.postRotate(angleRotation); matrix.postTranslate(px,py); canvas.drawBitmap(bitmap,paint);

以上代码满足我的要求.请根据您的需要进行修改.

大佬总结

以上是大佬教程为你收集整理的android – 在SurfaceView中像定时器一样在固定点旋转位图全部内容,希望文章能够帮你解决android – 在SurfaceView中像定时器一样在固定点旋转位图所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。