Paint画笔对象,这个类中包含了如何绘制几何图形、文字和位图的样式和颜色信息,指定了如何绘制文本和图形。画笔对象右很多设置方法,大体上可以分为两类:一类与图形绘制有关,一类与文本绘制有关。
Paint类中有如下方法:
1.图形绘制
- setArgb(int a, int r, int g, int b):设置绘制的颜色,a表示透明度,r、g、b表示颜色值;
- setAlpha(int a):设置绘制的图形的透明度;
- setColor(int color):设置绘制的颜色;
- setAntiAlias(boolean a):设置是否使用抗锯齿功能,抗锯齿功能会消耗较大资源,绘制图形的速度会减慢;
- setDither(boolean b):设置是否使用图像抖动处理,会使图像颜色更加平滑饱满,更加清晰;
- setFileterBitmap(Boolean b):设置是否在动画中滤掉Bitmap的优化,可以加快显示速度;
- setMaskFilter(MaskFilter mf):设置MaskFilter来实现滤镜的效果;
- setColorFilter(ColorFilter cf):设置颜色过滤器,可以在绘制颜色时实现不同颜色的变换效果;
- setPathEffect(PathEffect pe):设置绘制的路径的效果;
- setShader(Shader s):设置Shader绘制各种渐变效果;
- setShadowLayer(float r, int x, int y, int c):在图形下面设置阴影层,r为阴影角度,x和y为阴影在x轴和y轴上的距离,c为阴影的颜色;
- setStyle(Paint.Style s):设置画笔的样式:FILL实心;STROKE空心;FILL_OR_STROKE同时实心与空心;
- setStrokeCap(Paint.Cap c):当设置画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的图形样式;
- setStrokeJoin(Paint.Join j):设置绘制时各图形的结合方式;
- setStrokeWidth(float w):当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的粗细度;
- setXfermode(Xfermode m):设置图形重叠时的处理方式;
2.文本绘制
- setTextAlign(Path.Align a):设置绘制的文本的对齐方式;
- setTextScaleX(float s):设置文本在X轴的缩放比例,可以实现文字的拉伸效果;
- setTextSize(float s):设置字号;
- setTextSkewX(float s):设置斜体文字,s是文字倾斜度;
- setTypeFace(TypeFace tf):设置字体风格,包括粗体、斜体等;
- setUnderlineText(boolean b):设置绘制的文本是否带有下划线效果;
- setStrikeThruText(boolean b):设置绘制的文本是否带有删除线效果;
- setFakeBoldText(boolean b):模拟实现粗体文字,如果设置在小字体上效果会非常差;
- setSubpixelText(boolean b):如果设置为true则有助于文本在LCD屏幕上显示效果;
3.其他方法
- getTextBounds(String t, int s, int e, Rect b):将页面中t文本从s下标开始到e下标结束的所有字符所占的区域宽高封装到b这个矩形中;
- clearShadowLayer():清除阴影层;
- measureText(String t, int s, int e):返回t文本中从s下标开始到e下标结束的所有字符所占的宽度;
- reset():重置画笔为默认值。