《Android的基本2D图形绘制课件》由会员分享,可在线阅读,更多相关《Android的基本2D图形绘制课件(15页珍藏版)》请在金锄头文库上搜索。
1、Android的基本2D图形绘制,Android,目录,2D图形绘制概述 2D的主要类View,Canvas,Paint介绍 图像,图形,文本的基本绘制,概述,Android的2D图形界面结构,UserApplication,MyView :onDraw(Canvas canvas),Widget.XXX,android.view.View,Android,graphics.Canvas (Graphics/Text/Bitmap),概述,Android的2D图形绘制 1.Android的Widget是通过搭积木的方式构建界面 。 2.Android的2D图形是给你一只画笔,让你自由在屏幕上绘
2、制。,2D的几个主要类,1。View,Canvas,Paint类 View代表屏幕 Canvas代表画布 Paint代表画笔,View,View的主要方法 1-onDraw(Canvas) 2-onKeyDown 3-onkeyUp 主要负责屏幕的布局,提供绘制,和键盘响应事件,View,获取屏幕的大小 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); /获取屏幕宽度 dm.widthPixels; /获取屏幕高度 dm.heightPixels;,C
3、anvas的主要方法,画几何图形 1- drawRect /画矩形 2-drawCircle /画圆 3- drawLine /画直线 4- drawPoint /画点 5- drawOval /画椭圆,Canvas的方法,画文本 1-drawText /写文本 画图形 1-canvas.drawBitmap(bitmap, left, top, paint) /在left,top位置画图片 2-canvas.drawBitmap(bitmap, src, dst, paint) /在源图和目标图的区域里画图,Paint的主要方法,Paint的主要方法 setColor(Color.GREEN
4、) /设置颜色 setARGB(a,r,b,g) /设置Alpha,Red,Blue,Green值 setAlpha /设置Alpha值,就是透明值 setTextSize /设置字体大小 setStrokeWidth /设置外框大小 setStyle /设置样式 Paint.Style.FILL填充 setAntiAlias /设置画笔的锯齿效果,绘制几何图形,绘制矩形 Paint.setAntiAlias(true); Paint.setColor(Color.RED); Paint.setAlpha(200); Paint.setStyle(Paint.Style.STROKE); Ca
5、nvas.drawRect(320-80)/2,20,(320-80)/2+80,20+40, mPaint); 绘制直线 Paint.setColor(Color.BLUE); Paint.setStrokeWidth(20); Paint.setAlpha(80); Canvas.drawLine(120, 120, 180, 180, mPaint);,绘制圆形,绘制圆形 Paint.setColor(Color.GREEN); Paint.setStyle(Paint.Style.FILL_AND_STROKE); Paint.setAlpha(120); Canvas.drawCir
6、cle(200,200, 30, mPaint);,绘制文本,Paint.setAntiAlias(true); Paint.setColor(Color.RED); Paint.setAlpha(200); Paint.setTextSize(20); Paint.setStyle(Paint.Style.STROKE); Canvas.drawText(i love this game, 20, 20, mPaint);,绘制图形,1-初始化图片 (BitmapDrawable)getResources().getDrawable(R.drawable.wallpaper).getBitmap(); 2-绘制图片 Canvas.drawBitmap(Bitmap,left,top,Paint),图形的裁剪,canvas.save(); /保存画布的状态 anvas.translate(20, 20); /移动画笔到x=20,y=20的位置 canvas.clipRect(20, 20,50,80); / mPaint.setColor(Color.BLUE); mPaint.setStyle(Paint.Style.STROKE); canvas.drawRect(22, 22, 45, 70, mPaint); canvas.restore();,