Paint画笔高级应用

Paint译为画笔,顾名思义,可以使用paint在canvas上画东西。本篇文章主要讲解Paint的一些常用API

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

2、paint.setARGB(a, r, g, b); // 设置画笔颜色,范围 0 - 255

3、paint.setAlpha(alpha); // 设置画笔透明度,范围 0 - 255

4、paint.setAntiAlias(true); // 抗锯齿

抗锯齿默认是关闭的,如果需要抗锯齿,需要显式地打开。另外,除了 setAntiAlias(aa) 方法,打开抗锯齿还有一个更方便的方式:构造方法。创建 Paint 对象的时候,构造方法的参数里加一个 ANTI_ALIAS_FLAG的 flag,就可以在初始化的时候就开启抗锯齿。


5、paint.setStyle(Paint.Style.FILL); //描边效果

6、paint.setStrokeWidth(4);//描边宽度

7、paint.setStrokeCap(Paint.Cap.ROUND); //圆角效果

设置线头的形状。线头形状有三种:BUTT 平头、ROUND 圆头、SQUARE 方头。默认为 BUTT。


8、paint.setStrokeJoin(Paint.Join.MITER);//拐角风格

设置拐角的形状。有三个值可以选择:MITER 尖角、 BEVEL 平角和 ROUND 圆角。默认为 MITER。

/**

*    (x0,y0):渐变起始点坐标 ,;(x1,y1):渐变结束点坐标

*    colors:    渐变数组

*    positions:    位置数组,position的取值范围[0,1],作用是指定某个位置的颜色值,如果传null,渐变就线性变化。

*    tileMode:    用于指定控件区域大于指定的渐变区域时,空白区域的颜色填充方法 

*/

new LinearGradient(x0, y0, x1, y1, new int[]{Color.RED, Color.BLUE, Color.GREEN}, new float[]{0.f,0.7f,1}, Shader.TileMode.CLAMP) ;

/**

*    centerX ,centerY:shader的中心坐标,开始渐变的坐标

*    radius:     渐变的半径

*    colors:    渐变颜色数组

*    stoops:    渐变位置数组,类似扫描渐变的positions数组,取值[0,1],中心点为0,半径到达位置为1.0f

*     tileMode:    shader未覆盖以外的填充模式

*/

new RadialGradient(centerX, centerY, radius, new int[]{Color.GREEN, Color.YELLOW, Color.RED}, null, Shader.TileMode.CLAMP);

/**

*    cx,cy:    渐变中心坐标

*    colors,positions:类似LinearGradient,用于多颜色渐变,positions为null时,根据颜色线性渐变 

*/

new SweepGradient(cx, cy, Color.RED, Color.GREEN);

/**

*    tileX:X轴方向的TileMode

*    tileY:    Y轴方向的TileMode

         REPEAT, 绘制区域超过渲染区域的部分,重复排版

        CLAMP, 绘制区域超过渲染区域的部分,会以最后一个像素拉伸排版

        MIRROR, 绘制区域超过渲染区域的部分,镜像翻转排版

*/

new BitmapShader(mBitmap, Shader.TileMode.REPEAT, Shader.TileMode.MIRROR);

/**

*    shaderA,shaderB:    要混合的两种shader

*    PorterDuff.Mode mode:     组合两种shader颜色的模式

*/

new ComposeShader(bitmapShader, linearGradient, PorterDuff.Mode.MULTIPLY);

9、paint.setShader(new SweepGradient(200, 200, Color.BLUE, Color.RED)); //设置环形渲染器

10、paint.setFilterBitmap(true); //设置双线性过滤

图像在放大绘制的时候,默认使用的是最近邻插值过滤,这种算法简单,但会出现马赛克现象;而如果开启了双线性过滤,就可以让结果图像显得更加平滑

/**
*   radius:    模糊的范围   
*    style:    模糊的类型
*         NORMAL:     内外都模糊绘制
*         SOLID:     内部正常绘制,外部模糊
*         INNER:     内部模糊,外部不绘制
*         OUTER:     内部不绘制,外部模糊(什么鬼?)
*/
  new BlurMaskFilter(50, BlurMaskFilter.Blur.NORMAL)
/**

*     direction 是一个 3 个元素的数组,指定了光源的方向; 
*     ambient 是环境光的强度,数值范围是 0 到 1;
*     specular 是炫光的系数; 
*     blurRadius 是应用光线的范围

*/

new EmbossMaskFilter(float[] direction, float ambient, float specular, float blurRadius )

11、paint.setMaskFilter(new BlurMaskFilter(10, BlurMaskFilter.Blur.NORMAL));//设置画笔遮罩滤镜 ,传入度数和样式

12、paint.setTextScaleX(2);// 设置文本缩放倍数

13、paint.setTextSize(38);// 设置字体大小

14、paint.setTextAlign(Paint.Align.LEFT);//对其方式

15、paint.setUnderlineText(true);// 设置下划线

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

推荐阅读更多精彩内容