Android 绘图之Paint

Paint是什么
Paint是一个画笔,它保存了如何绘制几何图形,文本,和位图的样式和颜色等信息。

如何获得一个Paint对象
调用Paint的构造方法可以创建一个画笔对象.

//创建一个拥有抗锯齿功能的画笔
val paint = Paint(Paint.ANTI_ALIAS_FLAG)

Paint的常用方法
Paint类拥有大量的setXXX()方法,这些方法可用于在绘图操作中对画笔的各种属性进行设置。常用的一些方法有:
void setColor(int color)  设置画笔颜色,(从资源文件)
void setARGB(int a, int r, int g, int b)  设置画笔颜色(带透明度)
void setAlpha(int a)  设置画笔的透明度

void setAntiAlias(boolean aa)  设置画笔是否具有抗锯齿功能。抗锯齿功能能为绘制一些图形(比如圆形,椭圆)时,对边缘进行模糊处理.
void setDither(boolean dither)  设置画笔是否具有抗抖动功能。抗抖动功能能为绘制一些渐变色时,提供对边缘颜色的柔和处理

对绘制文本时有用的一些设置
void setTextSize(float textSize)  设置文本大小,单位为px
void setUnderlineText(boolean underlineText)  设置文本是否具有下划线
void setStrikeThruText(boolean strikeThruText)  设置文本是否具有删除线
void setTextSkewX(float skewX)  设置文本X轴的倾斜
void setTextScaleX(float scaleX)  设置文本X轴的缩放
void setTextAlign(Paint.Align align)  设置文本的对齐方式
Typeface setTypeface(Typeface typeface)  设置文本字体

对绘制图形时有用的一些设置
void setStrokeWidth(float width)  设置描边的宽度,默认0的时候有一个像素单位的宽度
void setStyle(Paint.Style style)  设置绘制几何图形时的样式,包括Paint.Style.Fill(填充),Paint.Style.STROKE(描边),Paint.Style.FILL_AND_STROKE(填充加描边)

void setStrokeCap(Paint.Cap cap)  设置线帽,包括Paint.Cap.BUTT(无线帽),Paint.Cap.ROUND(圆形线帽),Paint.Cap.SQUARE(矩形线帽)。 一般在绘制样式在STROKE 或FILL_AND_STROKE使用
    

void setStrokeJoin(Paint.Join join)  设置线段的连接处,包括Paint.Join.MITER(以锐角形式相交),Paint.Join.ROUND(以圆弧形式相交),Paint.Join.BEVEL(以直线形式相交).。一般在绘制样式在STROKE或FILL_AND_STROKE使用

Shader setShader(Shader shader)  设置渲染器,包括LinearGradient,RadialGradient,SweepGradient,BitmapShader,ComposeShader
    LinearGradient线性渐变渲染器,常用的构造方法
    LinearGradient(float x0, float y0, float x1, float y1, int color0, int color1, Shader.TileMode tile)  参数(x0,y0)表示起点坐标,参数(x1,y1)表示终点坐标。color0表示起点颜色,color1表示终点颜色。tile表示当绘制图形的坐标点在渐变色的起始点以外时的处理方式。 Shader.TileMode.CLAMP 表示将最后一个像素点平铺  Shader.TileMode.REPEAT 表示重复渐变色   Shader.TileMode.MIRROR 表示镜像重复渐变色
    LinearGradient(float x0, float y0, float x1, float y1, int[] col

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值