Paint类的基本介绍

画笔的基本属性

颜色、宽度、是否填充

下面介绍4个常用方法:

setAntiAlias()  

  • 该函数的具体声明: void setAntiAlias(boolean aa)
  • 表示是否打开抗锯齿功能。抗锯齿是依赖算法的,一般在绘制不规则的图形时使用,比 如圆形、文字等。在绘制棱角分明的图像时,比如一个矩形、一张位图,是不需要打开抗锯 齿功能的
  • 在打开抗锯齿功能的情况下,所绘图像可以产生平滑的边缘

setColor() 

  • 该函数的具体声明: void setColor(int color)
  • 作用是设置画笔颜色
  • 一个颜色值是由红、绿、蓝三色合成出来的,所以,参数 color 只能取 8 位的 0xAARRGGBB 样式颜色值

其中:

A 代表透明度(Alpha),取值范围是 0~255(对应十六进制的 0x00~0xFF),取值越 小,透明度越高,图像也就越透明。当取 0 时,图像完全不可见。

R 代表红色值(Red),取值范围是 0~255(对应十六进制的 0x00~0xFF),取值越小, 红色越少。当取 0 时,表示红色完全不可见;当取 255 时,红色完全显示

G 代表绿色值(Green),取值范围是 0~255(对应十六进制的 0x00~0xFF),取值越 小,绿色越少。当取 0 时,表示绿色完全不可见;当取 255 时,绿色完全显示

B 代表蓝色值(Blue),取值范围是 0~255(对应十六进制的 0x00~0xFF),取值越小, 蓝色越少。当取 0 时,表示蓝色完全不可见;当取 255 时,蓝色完全显示

比如 0xFFFF0000 就表示大红色。因为透明度是 255,表示完全不透明,红色取全量值 255, 其他色值全取 0,表示颜色中只有红色;当然,如果我们不需要那么红,则可以适当减少红色 值,比如 0xFF0F0000 就会显示弱红色

当表示黄色时,由于黄色是由红色和绿色合成的,所 以 0xFFFFFF00 就表示纯黄色。当然,如果我们需要让黄色带有一部分透明度,以便显示出 所画图像底层图像,则可以适当减少透明度值,比如 0xABFFFF00;当透明度减少到 0 时, 任何颜色都是不可见的,也就是图像变成了全透明,比如 0x00FFFFFF,虽然有颜色值,但由 于透明度是 0,所以整个颜色是不可见的 

除手动组合颜色的方法以外,系统还提供了一个专门用来解析颜色的类——Color(后面介绍)

示例: 绘制一大一小两个圆,并且将这两个圆叠加起来,上方的圆半透明

Paint paint=new Paint();
paint.setColor(0xFFFF0000);
paint.setStyle(Paint.Style.FILL);
paint.setStrokeWidth(50);
canvas.drawCircle(190, 200, 150, paint); 
paint.setColor(0x7EFFFF00);
canvas.drawCircle(190, 200, 100, paint); 

setStyle() 

完整的函数声明:void setStyle(Style style)

该函数用于设置填充样式,对于文字和几何图形都有效

style 的取值如下:(FILL_AND_STROKE是FILL和STROKE叠加在一起显示的结果)

  • Paint.Style.FILL:仅填充内部
  • Paint.Style.FILL_AND_STROKE:填充内部和描边
  • Paint.Style.STROKE:仅描边

setStrokeWidth() 

完整的函数声明:void setStrokeWidth(float width)  

  • 用于设置描边宽度值,单位是px
  • 当画笔的Style样式是STROKE和FILL_AND_STROKE 时有效
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值