美文网首页
android Paint总结

android Paint总结

作者: 赵义_fe20 | 来源:发表于2019-06-27 08:49 被阅读0次

本文来自于笔者(我)研读扔无线的hencoder系列文章做的一些总结,为了加深自己的记忆,本文总结了android的Paint类的一系列方法,有什么错误的地方欢迎各路大神指出

简介 

Paint类, 翻译为油漆,燃料的意思,android中一般称之为画笔,来看一下它的介绍

paint的介绍

直译过来意思是 paint类掌握着如果去绘制图形,文字,图片的风格和颜色信息

Paint类的方法大致可以分为以下4类

1,颜色

2,效果

3,drawText

4,初始化

让我们来一一过一下这些方法

NO.1 颜色

有三层对颜色的处理方法,分别为

1.1设置基本的颜色

1.1.1 setColor(int color) 

setColor

很简单,给画笔设置颜色

1.1.2 setARGB(int color)

setARGB

同上,就是设置颜色的方式不同,它的参数用的是更直接的三原色与透明度的值

1.1.3 setShader(Shader shader)

Shader翻译过来为着色器,也是用给Paint设置颜色的,不过它与setColor()/setARGB()不同,setColor()/setARGB()是直接设置颜色,而setShader()是设置一套着色方案,我们一般设置shader是使用的它的几个子类LinearGradient,

1.1.3.1 LinearGradient 线性渐变

LinearGradient使用 LinearGradient效果

来看下LinearGradient的构造方法

public LinearGradient(float x0, float y0, float x1, float y1,@ColorIntint color0, @ColorIntint color1,@NonNull TileMode tile)

x0 y0 x1 y1 分别代表渐变的起点和终点

color0 color1 代表从渐变的颜色 例(red,green)就代表从红色向绿色渐变

TileMode tile 辐射范围之外的着色模式, 它有三个可选值, CLAMP,MIRROR,REPAT, CLAMP代表会在终点之外延续终点的颜色,MIRROR代表镜像模式,REPAT代表的是重复模式,分别看一下他们的效果

CLAMP MIRROR REPAT

1.1.3.2 RadialGradient 辐射渐变

RadialGradient使用 RadialGradient效果

来看一下它的构造方法

public RadialGradient(float centerX, float centerY, float radius,@ColorIntint centerColor, @ColorIntint edgeColor, @NonNull TileMode tileMode)

float centerX, float centerY 代表辐射的中心点

float radius 辐射的半径

ColorIntint centerColor, @ColorIntint edgeColor  从centerColor渐变到edgeColor颜色

TileMode tileMode 辐射范围之外的着色模式。 同上

1.1.3.3 SweepGradient 扫描渐变

SweepGradient使用 SweepGradient效果

来看一下它的构造方法

public SweepGradient(float cx, float cy, @ColorIntint color0, @ColorIntint color1)

float cx, float cy,代表的是中心点的坐标

@ColorIntint color0, @ColorIntint color1 渐变的颜色,从color0向color1渐变

1.1.3.4 BitmapShader

使用bitmap对象来着色

相关文章

网友评论

      本文标题:android Paint总结

      本文链接:https://www.haomeiwen.com/subject/epxsvftx.html