android 画笔设置参数,Android画笔Paint和FontMetrics

有关自定义控件的许多内容,一直都想抽时间梳理一下,当然了梳理的内容不会很深,都是一些比较常用的类或者方法,主要是为了后续用到时方便查阅与参考。

本文主要整理的是Paint的一些基本使用方法和技巧,其中涉及到文字绘制的,涉及绘制文字时需要知道基线的坐标与View的坐标参考点是不同的,需要知道坐标之间的转换方式。另外需要知道有哪些方式可以测量已经绘制的文字所占的宽度,包括可以精确测量的方式,也有相对粗略的方式。

Paint常用方法

Paint在自定义控件中是一个比较常用的类,主要保存了颜色样式等绘制信息,通过一些属性指定如何绘制文字、图形。

如下是Paint的一些常用方法。

setARGB(int a,int r,int g,int b);

设置绘制的颜色,a代表透明度,r,g,b代表颜色值。

setAlpha(int a);

设置绘制图形的透明度,取值范围是[0-255],数值越小,越透明,颜色上表现越淡。

setColor(int color);

设置绘制的颜色,使用颜色值来表示,该颜色值包括透明度和RGB颜色。

setAntiAlias(boolean aa);

设置是否使用抗锯齿功能,会消耗较大资源,绘制图形速度会变慢。

setDither(boolean dither);

设定是否使用图像抖动处理,会使绘制出来的图片颜色更加平滑和饱满,图像更加清晰,但是会损失性能。

setStyle(Paint.Style style);

设置画笔的样式,为FILL填充,FILL_AND_STROKE填充和描边,或STROKE描边。

setStrokeCap(Paint.Cap cap);

当画笔样式为STROKE或FILL_AND_STROKE时,设置笔刷的图形样式,如圆形样式Cap.ROUND,方形样式Cap.SQUARE 或者不设置Cap.BUTT。

setSrokeJoin(Paint.Join join);

设置绘制时各图形交汇处的结合方式,如Join.MITER锐角、Join.ROUND圆弧、Join.BEVEL直线。

setStrokeWidth(float width);

当画笔样式为STROKE或FILL_AND_STROKE时,设置笔刷的粗细度。

setXfermode(Xfermode xfermode);

设置图形重叠时的处理方式,如合并,取交集或并集,经常用来制作橡皮的擦除效果。

setShader(Shader shader);

设置图像效果,使用Shader可以绘制出各种渐变效果。

setColorFilter(ColorFilter colorfilter);

设置颜色过滤器,可以在绘制颜色时实现不用颜色的变换效果。

setShadowLayer(float radius ,float dx,float dy,int color);

在图形下面设置阴影层&

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值