如果对javaSE 里面2D图形编程有点了解的人 ,估计搞android几何绘图不是什么难事,主用用到API中canvas(画布)Paint类 主要用此类来进行绘画(只讲简单的图形绘制,后期会用模仿做一个画图工具类似于腾讯QQ涂鸦) 以下是Canvas常用方法  具体更详细部分可参考API canvas  Canvas(): 创建一个空的画布,可以使用setBitmap()方法来设置绘制具体的画布。

Canvas(Bitmap bitmap): 以bitmap对象创建一个画布,则将内容都绘制在bitmap上,因此bitmap不得为null。 
  Canvas(GL gl): 在绘制3D效果时使用,与OpenGL相关。 
  drawColor: 设置Canvas的背景颜色。 
  setBitmap:  设置具体画布。 
  clipRect: 设置显示区域,即设置裁剪区。 
  isOpaque:检测是否支持透明。 
  rotate:  旋转画布 
  setViewport:  设置画布中显示窗口。 
  skew:  设置偏移量。 
  drawRect  画矩形
  drawCicle 画圆形
  drawOval 画椭圆
  drawPath 画直线
  drawPoin 绘制点
画图我们一般会设置画笔的颜色 粗细 等等这时我们要用到Paint类
只要对Paint属性进行设置 就可以得到很多你想要的效果 以下是常用的方法介绍
  setAntiAlias: 设置画笔的锯齿效果。 
  setColor: 设置画笔颜色 
  setARGB:  设置画笔的a,r,p,g值。 
  setAlpha:  设置Alpha值 
  setTextSize: 设置字体尺寸。 
  setStyle:  设置画笔风格,空心(Style.STROKE)或者实心( Style.FILL )。 
  setStrokeWidth: 设置空心的边框宽度。 
  getColor:  得到画笔的颜色 
  getAlpha:  得到画笔的Alpha值。

以下结合这2个类进行简单的几何图形绘制
在绘制之前对canvas中坐标进行简单解释下 这个跟javaSE有点区别

很多图形绘制会用到 left top right bottom 这个四个参数根据这四个参数来确定图形的坐标位置
下面通过对上面的图对四个参数进行解释下
left:既A点 就是A的坐标原点位置
right:既B点 就是B到坐标原点位置
bottom:既C点 就是C到坐标原点的位置
top:既D点 就是D到坐标原点的位置 理解这个之后画图就相当简单了
以下是个常见简单几何图形绘制
效果图如下

@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
canvas.drawColor(Color.WHITE); //设置画布背景颜色
Paint paint = new Paint();
paint.setColor(Color.RED);//设置画笔颜色
paint.setStrokeWidth(4); //
paint.setStyle(Style.STROKE);//设置填充类型
// 画圆形
canvas.drawCircle(40, 40, 40, paint);
// 画正方形
canvas.drawRect(0, 90, 80, 170, paint);
// canvas.drawRect(left, top, right, bottom, paint)
// 画长方形
canvas.drawRect(0, 180, 100, 240, paint);
// 画椭圆形
RectF rectF = new RectF(0, 250, 120, 320);
canvas.drawOval(rectF, paint);

// 画三角形
Path path = new Path();
path.reset();
path.moveTo(60, 330);// 开始坐标 也就是三角形的顶点
// path.lineTo(60, 330);
path.lineTo(0, 390);
path.lineTo(120, 390);
path.close();
canvas.drawPath(path, paint);
 
//画梯形
Path path2 = new Path();
path2.reset();
path2.moveTo(30, 400); //左顶点 也即起始点
path2.lineTo(90, 400); //左顶点
path2.lineTo(120, 440); //右底部 
path2.lineTo(0, 440); // 左底部
canvas.drawPath(path2, paint);
                        等同下面===========================
                        path2.moveTo(0, 440);
path2.lineTo(120, 440);
path2.lineTo(90, 400);
path2.lineTo(30, 400);
path2.lineTo(0, 440);
 
画三角形与画梯形的时候要注意 因为只能画多条线 再把根据几条线的坐标 相连 就构成该图形,一定要注意点坐标的顺序今天就写到这里,下次继续
                          
                                                                                  不为别的只求一起进步

Android之Graphics 简单绘制几何图形相关推荐

  1. 【Android开发】图形图像处理技术-绘制几何图形

    常见的几何图形包括点.线.弧.矩形等.在Android中,Canvas类提供了丰富的绘制几何图形的方法,通过这些方法,可以绘制出各种几何图形.常用的几何图形的绘制方法如下所示: 1. 画一个圆使用的是 ...

  2. 【图形基础篇】04 # GPU与渲染管线:如何用WebGL绘制最简单的几何图形?

    说明 [跟月影学可视化]学习笔记. 图形系统是如何绘图的? 一个通用计算机图形系统主要包括 6 个部分,分别是: 输入设备 中央处理单元:首先,数据经过 CPU 处理,成为具有特定结构的几何信息. 图 ...

  3. python+OpenCV图像处理(三)绘制简单的几何图形、显示文字

    绘制简单的几何图形.显示文字 (一)绘制直线和矩形 img = np.zeros([512, 512, 3]) # line函数用来画直线,第一个参数可以理解为画布矩阵, # 第二个参数pt1是直线的 ...

  4. OpenGL入门学习[二] 绘制简单的几何图形

    OpenGL入门学习[二] 本次课程所要讲的是绘制简单的几何图形,在实际绘制之前,让我们先熟悉一些概念. 一.点.直线和多边形 我们知道数学(具体的说,是几何学)中有点.直线和多边形的概念,但这些概念 ...

  5. 做简单的android 软件推荐,Android_适用于Android开发的简单聊天软件,适用于android 开发。是一个简 - phpStudy...

    适用于Android开发的简单聊天软件 适用于android 开发.是一个简单的聊天软件,包括知识点,各个控件的运用(ExpandableListView,ViewPager,Spinner,Line ...

  6. [Android UI] graphics

    本文对Android graphics API 做些整理. 一.颜色 Color类 颜色由一个int型表示,共四个字节.从高位到低位四个字节分别为透明度.红色.绿色.蓝色. 相关API: 1.给定颜色 ...

  7. Android深入理解文字绘制:FontMetrics字体测量及其TextPaint介绍

    文章目录 TextPaint介绍 一.FontMetrics 1.1 理论知识 1.2 代码验证 1.3 fontMetrics中的变量和文字的size.typeface有关 1.4 绘制居中屏幕的文 ...

  8. Android刷新机制-View绘制原理

    Android刷新机制-View绘制原理 Android刷新机制-SurfaceFlinger原理 Android刷新机制-Choreographer原理 一.概述 本文将从startActivity ...

  9. Android O: View的绘制流程(三):布局和绘制

    前一篇文章Android O: View的绘制流程(二):测量中,  我们分析了View的测量流程.  当View测量完毕后,就要开始进行布局和绘制相关的工作,  本篇文章就来分析下这部分流程. 一. ...

最新文章

  1. 《系统集成项目管理工程师》必背100个知识点-01项目特点
  2. Zookeeper启动闪退可能原因及解决方案
  3. [小甲鱼]汇编语言笔记 基础知识
  4. 【无人驾驶入门】一、概述
  5. 0基础小白,如何入门数学建模?
  6. 骑行运动,对青春期年青人有什么好处?
  7. Map.Entry和Map中的map.keySet()、map.entrySet()详解
  8. 求一元二次方程根(含虚根)
  9. 鼠标移动事件(鼠标移动到主菜单上显示子菜单)
  10. 前端程序媛浅总结的工作中能用到“软技能”
  11. android MediaPlayer 完成播放后无法再次播放
  12. SitePoint播客#70:青年,企业和播客
  13. 用python3的pyspider爬取国家统计局的行政区域(只到乡镇级,更新到2017年)
  14. Chrome 夜间模式扩展-Change Colors
  15. Python实现文件管理系统
  16. css 并排放置两个div
  17. Java中的CAS操作
  18. java mp3格式要jmf吗_JMF java播放MP3文件
  19. 农村创业最新项目有哪些?适合青年农民创业!
  20. 值得网页设计师前端收藏的实用工具列表

热门文章

  1. 误删了php文件怎么恢复,linux中误删了文件怎么恢复
  2. java计算机毕业设计ssm同城绘本馆系统-绘本图书商城(源码+系统+mysql数据库+Lw文档)
  3. EndNote更改同步位置
  4. android file.renameto 不成功,android – File.renameTo()返回true,但文件尚未重命名
  5. Coherence(2)配置
  6. 华硕Tinker Board开发板(rk3288处理器)开发 ---- GPIO使用备忘
  7. 机房监控系统的主要功能及监控内容!
  8. edd算法 matlab,特征选择、特征提取MATLAB算法实现(模式识别)
  9. plot中的 markersize
  10. 财务凭证校验(Validation) [GGB0/OB28]