
第4章 图形与多媒体处理技术
第4章 图形与多媒体处理技术

4.1绘制几何图形
4.1 绘制几何图形

4.1.1几何图形绘制类 > 在Android系统中绘制几何图形,需要 用到一些绘图工具,这些绘图工具都在 android.graphics包中
4.1.1几何图形绘制类 ➢ 在Android系统中绘制几何图形,需要 用到一些绘图工具,这些绘图工具都在 android.graphics包中

1、画布Canvas 方法 功能 Canvas() 创建一个空的画布,可以使用setBitmap)方法 来设置绘制具体的画布。 Canvas(Bitmap bitmap) 以bitmap对象创建一个画布,则将内容都绘制在 bitmap.上,bitmap不得为null。 drawColor() 设置Canvasf的背景颜色。 setBitmap() 设置具体画布。 clipRect() 设置显示区域,即设置裁剪区。 rotate() 旋转画布 skew() 设置偏移量。 drawLine(float x1,float yl,float x2,float y2) 从点(x1,y1)到点(x2,y2)的直线。 drawCircle(float x,float y,float radius,Paint paint) 以(xy)为圆心,radius为半径画圆。 drawRect(float x1,float yl,float x2,float y2,Paint 从左上角(x1,y1)到右下角(x2,y2)的矩形。 paint) drawText(String text,float x,float y,Paint paint) 写文字。 drawPath(Path path,Paint paint) 从一点到另一点的连接路径线段
1、画布Canvas 方 法 功 能 Canvas() 创建一个空的画布,可以使用setBitmap()方法 来设置绘制具体的画布。 Canvas(Bitmap bitmap) 以bitmap对象创建一个画布,则将内容都绘制在 bitmap上, bitmap不得为null。 drawColor() 设置Canvas的背景颜色。 setBitmap() 设置具体画布。 clipRect() 设置显示区域,即设置裁剪区。 rotate() 旋转画布 skew() 设置偏移量。 drawLine(float x1, float y1, float x2, float y2) 从点(x1, y1)到点(x2, y2)的直线。 drawCircle(float x, float y, float radius, Paint paint) 以(x, y)为圆心, radius为半径画圆。 drawRect( float x1, float y1, float x2, float y2, Paint paint) 从左上角(x1, y1)到右下角(x2, y2)的矩形。 drawText(String text, float x, float y ,Paint paint) 写文字。 drawPath(Path path, Paint paint) 从一点到另一点的连接路径线段

2、画笔Paint 画笔Paint用来描述所绘制图形的颜色、和风格,如线 条宽度、颜色等信息。 方法 功能 Paint() 构造方法,创建一个辅助画笔对象。 setColor(int color) 设置颜色。 setStrokeWidth(float width) 设置画笔宽度。 setTextSize(float textSize) 设置文字尺寸。 setAlpha(int a) 设置透明度alpha值。 setAntiAlias(boolean b) 除去边缘锯齿,取true值。 paint.setStyle(Paint.Stylestyle) 设置图形为空心(Paint.StyIe.STROKE) 或实心(Paint.Style.FLL)
2、画笔Paint ➢ 画笔Paint用来描述所绘制图形的颜色、和风格,如线 条宽度、颜色等信息。 方 法 功 能 Paint() 构造方法,创建一个辅助画笔对象。 setColor(int color) 设置颜色。 setStrokeWidth(float width) 设置画笔宽度。 setTextSize(float textSize) 设置文字尺寸。 setAlpha(int a) 设置透明度alpha值。 setAntiAlias(boolean b) 除去边缘锯齿,取true值。 paint.setStyle(Paint.Style style) 设置图形为空心(Paint.Style.STROKE) 或实心(Paint.Style.FILL)

3、点到点的连线路径Path >当绘制由一些线段组成的图形(如:三角形、四 边形等),需要用Path类来描述线段路径。 方法 功能 lineTo(floatx,floaty) 从当前点到指定点画连线。 moveTo(floatx,floaty 移动到指定点。 close() 关闭绘制连线路径
3、点到点的连线路径Path ➢ 当绘制由一些线段组成的图形(如:三角形、四 边形等),需要用Path类来描述线段路径。 方 法 功 能 lineTo(float x, float y) 从当前点到指定点画连线。 moveTo(float x, float y ) 移动到指定点。 close() 关闭绘制连线路径

4.1.2几何图形绘制过程 在Android中绘制几何图形的一般过程为: (1)创建一个View的子类,并重写View类的 onDraw()方法; (2)在View的子类视图中使用画布对象 Canvas:绘制各种图形; (3)使用invalidate0方法刷新画面
4.1.2几何图形绘制过程 在Android中绘制几何图形的一般过程为: (1)创建一个View的子类,并重写View类的 onDraw()方法; (2)在View的子类视图中使用画布对象 Canvas绘制各种图形; (3)使用invalidate()方法刷新画面

【例4-1】绘制几何图形示例。 >本例继承自 5/810:02 01Ex06.01 Android.view.View的 TestView类,重写 View类的onDraw() 方法,在onDraw () 方法中运用Paint对象 (绘笔)的不同设置 值,在Cavas(画布) 几何图形示例 上绘制图形,分别绘 制了矩形、圆形、三 角形和文字。 (代码详见教材)
【例4-1】绘制几何图形示例。 ➢ 本例继承自 Android.view.View的 TestView类,重写 View类的onDraw() 方法,在onDraw() 方法中运用Paint对象 (绘笔)的不同设置 值,在Cavas(画布) 上绘制图形,分别绘 制了矩形、圆形、三 角形和文字。 (代码详见教材)

【例4-2】绘制一个可以在任意指定位置显示的 小球。 >设计思想:Android.系统应用程序的设计模式 是采用MVC模式,即把应用程序分为表现层 (View)、控制层(Control)、业务模型层 (Model)。在本示例中,按照这种模式,图 形界面布局为表现层,Activity控制程序为控 制层,实现几何作图的绘制过程属于业务模型 层。在业务模型层,将圆心坐标设为(x,y), 则圆的位置随控制层任意输入的坐标值而改变
【例4-2】绘制一个可以在任意指定位置显示的 小球。 ➢ 设计思想:Android系统应用程序的设计模式 是采用MVC模式,即把应用程序分为表现层 (View)、控制层(Control)、业务模型层 (Model)。在本示例中,按照这种模式,图 形界面布局为表现层,Activity控制程序为控 制层,实现几何作图的绘制过程属于业务模型 层。在业务模型层,将圆心坐标设为(x, y), 则圆的位置随控制层任意输入的坐标值而改变

>(代码详见教材) 6 ex42 输入位置: 120 确定
➢(代码详见教材)