当须要在Android上绘制图形时。就会用到Graphics类。Paint类。Paint就是相当于笔,而Canvas就是



纸。这里叫画布。



所以,凡有跟要要画的东西的设置相关的。比方大小,粗细,画笔颜色,透明度,字体的样式等等,都



是在Paint里设置;相同,凡是要画出成品的东西。比方圆形,矩形,文字等相关的都是在Canvas里生



成。



以下先说下Paint的基本设置函数:



    paint.setAntiAlias(true);//抗锯齿功能

    paint.setColor(Color.RED);  //设置画笔颜色    

    paint.setStyle(Style.FILL);//设置填充样式

    paint.setStrokeWidth(30);//设置画笔宽度

    paint.setShadowLayer(10, 15, 15, Color.GREEN);//设置阴影



前两个没什么好说的,看填充样式的差别:



1、void setStyle (Paint.Style style)     设置填充样式



Paint.Style.FILL    :填充内部

Paint.Style.FILL_AND_STROKE  :填充内部和描边

Paint.Style.STROKE  :仅描边



2、setShadowLayer (float radius, float dx, float dy, int color)    加入阴影



參数:



radius:阴影的倾斜度

dx:水平位移

dy:垂直位移



然后是Canvas的基本设置:



画布背景设置:



    canvas.drawColor(Color.BLUE);

    canvas.drawRGB(255, 255, 0);   //这两个功能一样。都是用来设置背景颜色的。



二、基本几何图形绘制



1、画直线



void drawLine (float startX, float startY, float stopX, float stopY, Paint paint)



參数:



startX:開始点X坐标

startY:開始点Y坐标

stopX:结束点X坐标

stopY:结束点Y坐标



2、矩形工具类RectF与Rect



这两个都是矩形辅助类。差别不大,用哪个都行,依据四个点构建一个矩形结构;在绘图时,利用这个



矩形结构能够画出相应的矩形或者与其他图形Region相交、相加等等。



RectF:



构造函数有以下四个,但最经常使用的还是第二个,依据四个点构造出一个矩形;



RectF()

RectF(float left, float top, float right, float bottom)

RectF(RectF r)

RectF(Rect r)





Rect



构造函数例如以下,最经常使用的也是依据四个点来构造矩形



Rect()

Rect(int left, int top, int right, int bottom)

Rect(Rect r)

android Graphics类:概述及基本几何图形绘制的更多相关文章

  1. android Graphics(一):概述及基本几何图形绘制

    前言:我最近想抽空研究研究android的各种特效,android的特效真是其它平台无法比拟的,而且一个漂亮的UI交互,会给APP增色不少,而学习特效之前,有关graphics绘图的基础知识是必不可少 ...

  2. Java知多少(98)Graphics类的绘图方法

    Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力.本节讲解Graphics类,下节讲解Graphics2D. Graphics类提供基本的几何图形绘制方法,主要有:画线段 ...

  3. Java的Graphics类进行绘图的方法详解

    Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力. Graphics类提供基本的几何图形绘制方法,主要有:画线段.画矩形.画圆.画带颜色的图形.画椭圆.画圆弧.画多边形等 ...

  4. 十一. 图形、图像与多媒体4.Graphics类的绘图方法

    Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力.本节讲解Graphics类,下节讲解Graphics2D. Graphics类提供基本的几何图形绘制方法,主要有:画线段 ...

  5. Graphics类绘制图形

    1. 画直线 void drawLine(int startX,int startY,int endX,int endY); 四个参数分别为:起始点的x坐标和y坐标以及终点的x坐标和y坐标,该方法用于 ...

  6. android Graphics(三):区域(Range)

    前言:最近几天对画图的研究有些缓慢,项目开始写代码了,只能在晚上空闲的时候捯饬一下自己的东西,今天给大家讲讲区域的相关知识,已经想好后面两篇的内容了,这几天有时间赶紧写出来给大家.有关界面开发的东东内 ...

  7. android Graphics(二):路径及文字

    前言:今天项目进入攻关期,他们改Bug要改疯掉了,主管为了激励大家,给大家发了一封邮件,讲到他对项目和学习的理解,一个很好的图形模型,分享给大家,如图在下面给出:(不便给出原文,我仅做转述)无论是学习 ...

  8. 【转】android Graphics(四):canvas变换与操作

    android Graphics(四):canvas变换与操作 分类: 5.andriod开发2014-09-05 15:05 5877人阅读 评论(18) 收藏 举报   目录(?)[+]   前言 ...

  9. android Graphics(四):canvas变换与操作

    前言:前几篇讲解了有关canvas绘图的一些操作,今天更深入一些,讲讲对画布的操作,这篇文章不像前几篇那么容易理解,如果以前没有接触过画布的童鞋可能比较难以理解,为什么会这样.我尽量多画图,让大家更清 ...

随机推荐

  1. 【02】[].slice和Array.prototype.slice

    [02][].slice和Array.prototype.slice 01,Array是一个构造函数.浏览器内置的特殊对象.   02,Array没有slice方法. 03,Array.prototy ...

  2. loj2145 「SHOI2017」分手是祝愿

    记 \(f_i\) 是从要做 \(i\) 步好操作变成要做 \(i-1\) 步好操作的期望操作次数. 显然 \(f_i=i/n \times 1 + (1-i/n) \times (1 + f_{i+ ...

  3. TOJ 5021: Exchange Puzzle

    5021: Exchange Puzzle  Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByteTotal Submit ...

  4. 贴一下我写过的c++程序代码

    5258 #include <iostream>#include <iomanip>#include <cmath>using namespace std;clas ...

  5. POJ 1543 Perfect Cubes

    Perfect Cubes Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12595   Accepted: 6707 De ...

  6. Terracotta

    Terracotta 3.2.1简介 (一) 博客分类: 企业应用面临的问题 Java&Socket 开源组件的应用 hibernatejava集群服务器EhcacheQuartzTerrac ...

  7. 关于ul中li不对齐的问题

    将li中加入 overflow:hidden;    即可. 同时overflow:auto  可以控制滚动条的出现.

  8. Tree 树(树形期望dp)

    题意也是需要解释一下的,这个期望步数,是需要求无限步的时候的,就是你只要能到达,都要算上去, 这个我一开始真的没什么思路,打了暴力,搞一个精度,结果全超时了,看来精度定的太细了. 出题人的题解是这个, ...

  9. CodeForces 303B Rectangle Puzzle II

    题意: 给定一个靠着坐标轴长为n,宽为m的矩形和 矩形中的一个点A,求在这个矩形内部一个 长宽比为a/b的小矩形,使这个小矩形的长宽尽量大使点A在小矩形内部,并且点A尽量靠近小矩形的中心 CF的思维题 ...

  10. 【HDOJ5979】Convex(三角函数)

    题意:n个点在一个半径为R的圆上,给出这n个点顺时针的夹角差值,求这n个点的凸包面积 n<=10,R<=10 思路:S=1/2*sinθ*a*b 角度转弧度再用sin C++有点小毛病,叫 ...