Android Paint画笔基本用法

常用方法:

构造方法

Paint mPaint = new Paint();

重置画笔

mPaint.reset();

设置颜色

mPaint.setColor(Color.RED); /setARGB(int a, int r, int g, int b)

设置透明度

mPaint.setAlpha(255);

设置样式

mPaint.setStyle(Paint.Style.FILL)
 Paint.Style.FILL   填充内容
 Paint.Style.STROKE 描边
 Paint.Style.FILL_AND_STROKE

设置画笔宽度

mPaint.setStrokeWidth(50)

设置线帽

mPaint.setStrokeCap(Paint.Cap.BUTT)
 Paint.Cap.BUTT   没有
 Paint.Cap.ROUND  圆形
 Paint.Cap.SQUARE

设置线段连接处样式

mPaint.setStrokeJoin(Paint.Join.MITER);
 Join.MITER(结合处为锐角)
 Join.Round(结合处为圆弧)
 Join.BEVEL(结合处为直线)

防锯齿

mPaint.setAntiAlias(true);

会损失一定的性能

设置是否使用图像抖动处理

mPaint.setDither(true);

会使绘制的图片等颜色更加的清晰以及饱满。(也是损失性能)

文字绘制:

获得字符行间距

mPaint.getFontSpacing()

获得字符之间的间距

mPaint.getLetterSpacing();

设置字符之间的间距

mPaint.setLetterSpacing(letterSpacing)

设置文本删除线

mPaint.setStrikeThruText(true);

是否设置下划线

mPaint.setUnderlineText(true);

设置文本大小

mPaint.setTextSize(textSize)

获取文本大小

mPaint.getTextSize();

设置字体类型

mPaint.setTypeface(Typeface.BOLD)
 Typeface.BOLD 粗体
 Typeface.ITALIC 斜体

加载自定义字体

Typeface.create(familyName, style)

设置文字倾斜

mPaint.setTextSkewX(-0.25f);

官方推荐的-0.25f是斜体

文本对齐方式

mPaint.setTextAlign(Align.LEFT)
 Align.LEFT  左对齐
 Align.CENTER 中间对其
 Align.RIGHT 右对齐

计算制定长度的字符串

mPaint.breakText(text, measureForwards, maxWidth, measuredWidth)
 text:字符串
 measureForwards:boolean
 maxWidth:int
 measuredWidth:float[]  结果接收

获取文本的矩形区域(宽高)

mPaint.getTextBounds(text, index, count, bounds)`
 `mPaint.getTextBounds(text, start, end, bounds)

获取文本的粗略宽度

mPaint.measureText(str);

得到每一个字符的宽度

`

mPaint.getTextWidths(str, measuredWidth);
mPaint.getTextWidths(text, start, end, widths)`textWidths字符数
发布了60 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41466437/article/details/104701327