几何图形的绘制:

  在Android中还可以绘制几何图形:

下面我们先来看几个方法:

  drawRect:绘制矩形

  drawCircle:绘制圆

  drawOval:绘制椭圆

  drawPath:绘制任意多边形

  drawLine:绘制直线

  drawPoint:绘制点

下面通过一个实例解释怎么使用这些方法

package com.example.kutuke;

import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Style; import android.graphics.Path; import android.graphics.Rect; import android.graphics.RectF; import android.util.Log; import android.view.View;

public class MyGameView extends View implements Runnable{    public Paint paint = null;  public MyGameView02  mgv02 = null;    public MyGameView(Context context){   super(context);   paint = new Paint();   mgv02 = new MyGameView02(context);   new Thread(this).start();  }    public void run(){   while(!Thread.currentThread().isInterrupted()){    try{     Thread.sleep(100);    }catch(InterruptedException e){     Thread.currentThread().interrupt();    }    postInvalidate();   }  }    public void onDraw(Canvas canvas){   super.onDraw(canvas);   //设置画笔为空心   paint.setStyle(Style.STROKE);   canvas.drawColor(Color.BLACK);   {    //定义矩形对象    Rect rect = new Rect();    rect.left = 10;    rect.top = 10;    rect.right = 110;    rect.bottom = 110;        paint.setColor(Color.RED);    canvas.drawRect(rect, paint);        canvas.drawCircle(250, 60, 50, paint);        //定义椭圆对象    RectF rectF = new RectF();    rectF.left = (getWidth()-220);    rectF.top = (10);    rectF.right = (getWidth()-20);    rectF.bottom = (160);    paint.setColor(Color.YELLOW);    //绘制椭圆    canvas.drawOval(rectF, paint);        //绘制多边形    Path path = new Path();    //设置多边形的点    path.moveTo(0, 150);    path.lineTo(150, 150);    path.lineTo(90, 250);    path.lineTo(50, 250);    path.close();    //绘制多边形    paint.setColor(Color.BLUE);    canvas.drawPath(path, paint);    //绘制直线    canvas.drawLine(0, 255, getWidth(), 255, paint);   }  }

}

时间: 2024-08-07 01:39:44

几何图形的绘制:的相关文章

十二,几何图形和图画

Path类是功能最强大的形状类,它能够包含任何简单形状.多级形状及更更复杂的曲线.Path.Data属性,该属性接受一个Geometry对象,该对象定义路径包含的一个或多个图形,Geometry是一个抽象类,指定Data时需要使用以下Geometry类的派生类: 路径和几何图形之间的区别:几何图形定义形状,而路径用于绘制形状,因此,Geometry对象为形状定义了坐标.尺寸等细节,而Path对象提供了绘制形状所使用的Stroke和Fill画刷,Path类还继承自UIElement基础架构中的特性

第二章 状态管理和绘制几何物体 总结

目标 1. 清除窗口 2.强制完成所有尚未执行的绘图操作 3.在2d或3d空间绘制图元 4.打开.关闭.查询状态 5.控制图元显示 6.在实心物体表面适当位置指定法线向量 7.用顶点数组和缓冲区对象存储和访问几何数据. 8.同时保存和恢复几个状态变量. 1.1 3种基本操作:清除窗口.绘制几何图形.绘制光栅对象. 2. 绘图工具箱: 2.1 清除RGBA模式的窗口 glClearColor(R, G, B, A); //将当前清除颜色设置成为一个状态变量 glClearDepth(1.0); /

Direct2D处理几何图形之间的碰撞检测(上)

转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 Direct2D中支持以下几种类型的几何图形: a.简单几何图形(Simple Geometry):矩形.圆角矩形.椭圆: b.路径图形(Path Geometry): c.复合图形(Composite Geometry):图形组.变换图形. 最近发现D2D除了可以绘制不同类型的几何图形之外,还有一个很强大的功能:对几何图形进行关系判断(也就是我们常说的碰撞检测). 这里首先介绍一个D2D的一个接口类ID2D

Android Paint Canvar 画几何图形

最近在研究自定义控件,遇到了几何图形的绘制,这里就贴出来常见的例子: ①首先在主Activity中代码: package com.example.mycustomwidget; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import

【WPF学习】第四十三章 路径和几何图形

前面四章介绍了继承自Shape的类,包括Rectangle.Ellipse.Polygon以及Polyline.但还有一个继承自Shape的类尚未介绍,而且该类是到现在为止功能最强大的形状类,即Path类.Path类能够包含任何简单形状.多组形状以及更复杂的要素,如曲线. Path类提供了Data属性,该属性接受一个Geometry对象,该对象定义路径包含的一个或多个图形.不能直接创建Geometry对象,因为Geometry是抽象类,而且需要使用下表中列出的7个派生类的一个进行创建. 表 几何

IOS绘图详解(http://blog.163.com/wkyuyang_001/blog/static/10802122820133190545227/)

14.1 Quartz概述 Quartz是Mac OS X的Darwin核心之上的绘图层,有时候也认为是CoreGraphics.共有两种部分组成Quartz: Quartz Compositor,合成视窗系统,管理和合成幕后视窗影像来建立Mac OS X使用者接口. Quartz 2D,是iOS和Mac OS X环境下的二维绘图引擎. 涉及内容包括:基于路径的绘图,透明度绘图,遮盖,阴影,透明层,颜色管理,防锯齿渲染,生成PDF,以及PDF元数据相关处理. 14.2 绘制基本几何图形 视图绘制

【OpenGL 学习笔记02】宽点画线

我们要知道,有三种绘图操作是最基本的:清除窗口,绘制几何图形,绘制光栅化对象. 光栅化对象后面再解释. 1.清除窗口 比如我们可以同时清除颜色缓冲区和深度缓冲区 glClearColor (0.0, 0.0, 0.0, 0.0);//指定颜色缓冲区清除为黑色 glClearDepth(1.0);//指定深度缓冲区的清除值为1.0 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//指定要清除的缓冲区并清除 2.绘制几何图形 先要设置绘制颜色,

Quartz2D的学习1

1. Quartz概述 Quartz是Mac OS X的Darwin核心之上的绘图层,有时候也认为是CoreGraphics(制图). 共有两种部分组成Quartz: Quartz Compositor,合成视窗系统,管理和合成幕后视窗影像来建立Mac OS X使用者接口.(了解,即幕后工作) Quartz 2D,是iOS和Mac OS X环境下的二维绘图引擎.(熟练,幕前工作,由我们来操作的) 涉及内容包括:基于路径的绘图,透明度绘图,遮盖,阴影,透明层,颜色管理,防锯齿渲染,生成PDF,以及

【Qt学习笔记】11.自定义控件 Customize the Widget

一.窗口绘制--基本方法 自定义窗口: Qt里允许自定义窗口控件,使之满足特殊的要求: 1.可以修改其显示,自行绘制 2.可以呈现动态效果 3.可以添加事件,支持鼠标和键盘操作 自定义的控件可以直接在Qt Designer 中使用,可以直接加到父窗口里. 步骤: 1.新建一个类,继承于QWidget和QFrame,最好是继承于QFrame2.重写以下函数 void CellMonitor::paintEvent( QPaintEvent* event ) 3.使用这个类 CircleWidget