绘制文字
2020-05-19 本文已影响0人
狂奔的_土豆
Paint的常用设置
//普通设置
paint.setStrokeWidth (5);//设置画笔宽度
paint.setAntiAlias(true); //指定是否使用抗锯齿功能,如果使用,会使绘图速度变慢
paint.setStyle(Paint.Style.FILL);//绘图样式,对于设文字和几何图形都有效
paint.setTextAlign(Align.CENTER);//设置文字对齐方式,取值:align.CENTER、align.LEFT或align.RIGHT
paint.setTextSize(12);//设置文字大小
//样式设置
paint.setFakeBoldText(true);//设置是否为粗体文字
paint.setUnderlineText(true);//设置下划线
paint.setTextSkewX((float) -0.25);//设置字体水平倾斜度,普通斜体字是-0.25
paint.setStrikeThruText(true);//设置带有删除线效果
paint.setTypeface(Typeface.DEFAULT);// 设置或清除字体样式,null为清除
//其它设置
paint.setTextScaleX(2);//只会将水平方向拉伸,高度不会变
绘制文字
1.第一类只能指定文本基线位置(基线x默认在字符串左侧,基线y默认在字符串下方)
// 文本(要绘制的内容)
String str = "ABCDEFG";
// 参数分别为 (文本 基线x 基线y 画笔)
canvas.drawText(str, 200, 500, paint);

2.第二类可以分别指定每个文字的位置
char[] chars=new char[]{'A','B','C','D','E','F'};
canvas.drawPosText(chars,0,3,new float[]{
100,100,
200,200,
300,300,
400,400,
500,500,
600,600,
},paint);

3.根据路径绘制文字
public void drawTextOnPath (String text, Path path, float hOffset, float vOffset, Paint paint)
public void drawTextOnPath (char[] text, int index, int count, Path path, float hOffset, float vOffset, Paint paint)