加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android实现图像旋转

发布时间:2020-05-24 21:03:44 所属栏目:Java 来源:互联网
导读:Android实现图像旋转

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

图像旋转的基本思想是通过Matrix类的setRotate方法设置旋转的角度,然后使用Bitmap.createBitmap方法创建一个已经旋转了的图像。除此之外,还可以使用Canvas.setMatrix方法设置,并直接使用drawBitmap绘制。
    public class MainActivity extends Activity{  
          
        public static int alpha=100;  
        private View myView;  
          
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(new MyView(this));  
        }  
      
        private class MyView extends View{  
            //十字扳手图像  
            private Bitmap bitmap1;  
            //小球图像  
            private Bitmap bitmap2;  
            //十字扳手当前角度  
            private int digree1 = 0;  
            //小球当前角度  
            private int digree2 = 360;  
      
            public MyView(Context context)  
            {  
                super(context);  
                setBackgroundColor(color.white);  
                InputStream is = getResources().openRawResource(R.drawable.cross);  
                bitmap1 = BitmapFactory.decodeStream(is);  
                is = getResources().openRawResource(R.drawable.ball);  
                bitmap2 = BitmapFactory.decodeStream(is);  
            }  
      
            @Override  
            protected void onDraw(Canvas canvas)  
            {  
                Matrix matrix = new Matrix();  
                //讲旋转角度控制在0-360  
                if (digree1 > 360)  
                    digree1 = 0;  
                if(digree2 < 0)  
                    digree2 = 360;  
                //设置旋转角度和旋转中心点  
                matrix.setRotate(digree1++,160,240);                        
                canvas.setMatrix(matrix);  
                //绘制图像  
                canvas.drawBitmap(bitmap1,88,169,null);  
                //设置旋转角度和旋转中心点  
                matrix.setRotate(digree2--,240);  
                canvas.setMatrix(matrix);    
                //绘制图像  
                canvas.drawBitmap(bitmap2,35,115,null);  
                //在onDrow中调用invalidate方法,表示不断重绘,即实现动画效果  
                invalidate();  
            }  
        }  
    }  

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读