Paint类的常用的方法

1.setColor方法,用于设置画笔的颜色,
public void setColor(int color)//参数color为颜色值,也可以使用Color类定义的颜色
Color.BLACK:黑色
Color.BLUE:蓝色
Color.CYAN:青绿色
Color.DKGRAY:灰黑色
Color.YELLOW:黄色
Color.GRAY:灰色
Color.GREEN:绿色
Color.LTGRAY:浅绿色
Color.MAGENTA:红紫色
Color.TRANSPARENT:透明色

2.setAlpha方法,用于设置画笔的透明度
public void setAlpha(int a )//参数a为透明度,其取值范围为0~255,数值越小越透明

3.setStyle方法,用于设置画笔的风格,可以指定是圆心还是实心,该方法在矩形,圆形有明显的效果
public void setStyle(Paint.Style style)//参数style为画笔的风格
Style.FILL:实心
Style.FILL_AND_STROKE:同时显示实心和空心
Style.STROKE:空心

4.setStrokeWidth方法,用于设置画笔的空心线宽,该方法在矩形,圆形,等图形上有明显的效果
public void setStrokeWidth(float width)//参数width为线宽,浮点型数据

5.setTextSize方法,用于设置画笔的字体大小,主要用于绘制字符串
public void setTextSize(float textSize)//

6.setTypeface方法用于设置画笔的字体样式,可以使用系统自带的字段,也可以使用自定义的字体
public void Typeface(Typeface typeface)//typeface为字体样式
Typeface.DEFAULT:默认字体
Typeface.DEFAULT_BOLD:加粗字体
Typeface.MONOSPACE:monospace字体
Typeface.SANS_SERIF:sans字体
Typeface.SERIF:serif字体

7.setTextScaleX方法.用于设置画笔字体的比例因子,默认为1,当大于1时表示横向拉伸,小于1时表示横向压缩
public void setTextScaleX(float scaleX)

8.setARGB方法,用于设置画笔的颜色和透明度
public void setARGB(int a,int r,int g,int b);
参数a为透明度,范围0~255
参数r为红色的颜色值,范围0~255
参数g为绿色的颜色值,范围0~255
参数b为蓝色的颜色值,范围0~255

9.setUnderlineText方法,用于设置画笔的下划线
public void setUnderlineText(Boolean underlintext)
当取值为true时,表示显示下划线

10.setTextSkewX方法,用于设置画笔的倾斜因子
public void setTextSkewX(float skewX)
参数skewX为倾斜因子,正数表示向左倾斜,负数表示向右倾斜

Canvas类的方法

1.public void drawColor(int color)
用于设置画布的背景颜色

2.public void drawLine(float starX,float startY,float stopX,float stopY,Paint paint);
用于在画布上绘制直线
参数分别为直线起点的X坐标,Y坐标,终点的X坐标,Y坐标,用到的画笔

3.public void drawLines(float[] pts,Paint paint)
用于在画布上绘制多条直线
参数pts为绘制直线的端点数组,每条直线占用4个数据

4.public void drawPoint(float x,float y,Paint paint)
用于在画布上绘制点
参数为点的X,Y坐标,和所用的画笔

5.public void drawPoints(float[] pts,Paint paint)
public void drawPoints(float[] pts,int offset,int count,Paint paint)
参数pts为绘制点的数组,每个点占用2个数据
参数offset为跳过的数据的个数
参数count为实际参与绘制的数据的个数

6.public void drawRect(Rect rect,Paint paint)
public void drawRect(RectF rect,Paint paint)
public void drawRect(float left,float float top,float right,float below,Paint paint)
用于绘制矩形

7.public void drawRoundRect(RectF rect,float rx,float ry,Paint paint)
用于绘制圆角矩形
rx为X方向上的圆角半径
ry为Y方向上的圆角半径

8.public void drawCircla(float cx,float cy,float radius, Paint paint)
用于在画布上绘制圆形
cx为圆形的x坐标
cy为圆形的y坐标
rad为圆的的半径

9.public void drawOval(RectF rect.Paint paint)
用于绘制椭圆
通过指定椭圆的外切矩形实现

10.public void drawPath(Path path,Paint paint)
用于在画布上绘制任意多边形来实现

11.public void drawArc(RectF oval,float startAngle,float sweepAngle,`Boolean usecenter,Paint p)
参数oval为圆弧所在的椭圆对象
startAngle为圆弧的起始角度,
sweepAngle为圆弧的角度,
useCenter表示是否显示半径连线,当取值为true时,显示圆弧与圆心的半径连线,

12,public void drawText(String text,float x,float y, Paint paint)
public void drawText(char[] text,int index,int count,float x,float y,Paint paint)
public void drawText(CharSequence text,int start,int end,float x,float y,Paint paint)
public void drawText(String text,int start,int end,float x,float y,Paint paint)
参数text为字符串的内容,
x为X坐标
y为Y坐标
index为显示的起始字符位置
count为显示的字符个数
start为显示的起始字符的位置
end为显示的终止的字符的位置

13,public void drawBitmap(Bitmap bitmap,float left,float top,Paint paint)
参数bitmap为Bitmap对象,代表图像资源,
left为图像显示的左边的位置
right为图像的显示的右边的位置

14,public int save()
用于锁定画布中的某一个或某几个对象,用于锁定对象操作的场合
使用sava方法锁定画布并完成操作之后,需要使用restore方法解除锁定

15,public Boolean clipRect(Rect rect)
public Boolean clipRect(float left,float top,float right,float bottom)
public Boolean clipRect(int left,int top,int right,int boottom)
该方法用于裁剪画布,设置画布的显示区域

16,public void rotate(float degrees)
public void rotate(float degrees,float px,float py)
用于旋转画布,通过旋转画布,可以将画布上绘制的对象旋转
参数degrees为旋转的角度,正数为顺时针方向,负数为逆时针方向
px为旋转点的x坐标
py为旋转点的y坐标

安卓中Paint类和Canvas类的方法汇总的更多相关文章

  1. 编程中遇到的Python错误和解决方法汇总整理

    这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下   开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析, ...

  2. DRF框架中链表数据通过ModelSerializer深度查询方法汇总

    DRF框架中链表数据通过ModelSerializer深度查询方法汇总 一.准备测试和理解准备 创建类 class Test1(models.Model): id = models.IntegerFi ...

  3. C#.NET中对称和非对称加密、解密方法汇总--亲测可用

    C#.NET中对称和非对称加密.解密方法汇总--亲测可用   在安全性要求比较高的系统中都会涉及到数据的加密.解密..NET为我们封装了常用的加密算法,例如:MD5,DES,RSA等.有可逆加密,也有 ...

  4. 自定义控件详解(一):Paint类与Canvas类

    前言: 自定义控件必需的两个类:Paint与Canvas Paint    ---  相当于绘图的"笔" Canvas --- 相当于绘图的"纸" 一.Pain ...

  5. 安卓中经常使用控件遇到问题解决方法(持续更新和发现篇幅)(在textview上加一条线、待续)

    TextView设置最多显示30个字符.超过部分显示...(省略号),有人说分别设置TextView的android:signature="true",而且设置android:el ...

  6. angular中处理多个异步请求的方法汇总

    在实际业务中经常需要等待几个请求完成后再进行下一步操作.但angularjs中$http不支持同步的请求. 解决方法一: $http多层嵌套 $http.get('url1').success(fun ...

  7. 安卓,分享到facebook的若干种方法汇总

    近期做了facebook的分享功能,遇到了很多问题,这里总结一下,供大家参考,不足之处还请大家指正. facebook分享方式: 1.通过intent调用调用本地facebook应用方式 支持单独分享 ...

  8. 创建一个抽象的员工类, 抽象开发累继承员工类,JavaEE ,和安卓继承开发类在测试类中进行测试

    /* 1 定义一个员工类  所有的子类都抽取(抽象类)  Employee            属性:姓名  工号(生成get  set  )       方法:工作  抽象     2 定义一个研 ...

  9. 安卓自定义控件(一)Canvas、Paint、Shader、Xfermode

    关于自定义控件,之前就写过一篇自定义控件,上图下字的Button,图片任意指定大小,但是使用效果还是让人感觉不幸福,这次索性彻彻底底地对自定义控件做一次彻彻底底的总结. 我会花4篇博客来介绍自定义控件 ...

随机推荐

  1. AI-Info-Micron-Insight:Intelligence Accelerated™

    ylbtech-AI-Info-Micron-Insight:Intelligence Accelerated™ Intelligence Accelerated™ Micron Insight 大会 ...

  2. 三层架构与MVC比较:

    三层架构与MVC比较: 1.两者不是同一概念 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目. 那么架构跟设计模式 ...

  3. Java集合框架(1)

    Collection接口:它是Java集合框架的一个根接口,也是List.Set和Queue接口的父接口.同时它定义了可用于操作List.Set和Queue的方法—增删改查. Map接口:它提供了一种 ...

  4. PCL推荐的命名规范(1)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=209 文件命名 所有的文件名单词之间应该用下划线隔开,例 如unordere ...

  5. array / matrix subarray/submatrix sum

    Maximal Subarray Sum : O(n) scan-and-update dynamic programming, https://en.wikipedia.org/wiki/Maxim ...

  6. c的scanf为什么比c++的cin快

    很早就知道,c的scanf(printf)比c++的快.刷题时尤其明显,在这上面超时是常有的事儿. 但,这是别人告诉我的,c快. 为什么快? 从网上借鉴一个例子做个简单测试: 1.cpp     // ...

  7. 7.10实习培训日志-Maven 敏捷编程

    总结 今天早上主要学习了Maven和Idea的Docker插件,遇到了一些坑,对于Idea的Docker插件,不能下载,然后我去访问Idea插件官网,发现被墙了,只要开个VPN就好.下午主要是张总经理 ...

  8. 利用memoize缓存到Redis出现多个参数同一个结果

    在为后端输出加入Redis缓存的过程中出现的问题. 在我利用Flask-restful架构的后端中,理所当然的利用装饰器marshal_with对我的返回数据进行格式化输出. 举个最简单的例子: fr ...

  9. Manacher(hdu3068最长回文)

    浅谈manacher算法 manacher算法是我在网上无意中找到的,主要是用来求某个字符串的最长回文子串. 不过网上的版本还不太成熟,我就修改了下. 不要被manacher这个名字吓倒了,其实man ...

  10. Python学习笔记(socket)

    socket(数据传输接口) 搭建服务端 1.导入模块 import socket 2.创建socket对象 sock=socket .socket(socket_family,socket_topy ...