android Paint总结

本文来自于笔者(我)研读扔无线的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对象来着色

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 系列文章之 Android中自定义View(一)系列文章之 Android中自定义View(二)系列文章之 And...
    YoungerDev阅读 2,156评论 0 4
  • 在上篇说道BitmapShader的使用关于Shader.TileMode这个参数在说明一下Shader.Tile...
    大大大寒阅读 1,488评论 3 1
  • Paint 属性分类 颜色 效果 drawText() 相关 初始化 1 颜色 Canvas 绘制的内容,有三层...
    黑色海鸥阅读 550评论 0 8
  • 上一篇 文章对自定义单一 View 进行了初步的介绍,对绘制的流程有了一个概念,本篇将对 Paint 部分进行详细...
    Kip_Salens阅读 1,447评论 0 1
  • 昨天妈妈说要带我出去玩,我同意去了,今天早晨早起学了一个小时,然后化妆打扮,赶公交车。今天心态特别成熟,人也打扮的...
    风水宝地阅读 374评论 0 4