自己学习笔记,仅供自己参考,如有不对欢迎指正
Paint 画笔()
主要用途:绘制的颜色和风格信息(圆的空心、实心、线条粗细、有没有阴影)
paint的API划分:颜色、效果、drawText()相关、初始化
一、颜色设置:
1.setShader()着色器
-
LinearGradient线性渐变 -
RadialGradient辐射渐变 -
SweepGradient扫描渐变 -
BitmapShader使用bitmap像素进行文字或者图形的填充 -
ComposeShader混合着色器
2.颜色过滤
-
setColorFilter颜色过滤的意思,就是为绘制的内容设置一个统一的过滤策略 -
LightingColorFilter是用来模拟简单的光照效果的 -
PorterDuffColorFilter使用一个指定的颜色和一种指定的 PorterDuff.Mode 来与绘制对象进行合成 -
ColorMatrixColorFilter使用ColorMatrix 来对颜色进行处理,列如设置饱和度等
3.setXfermode
绘制内容与View中已有内容的混合计算方式,就是制定重叠区域
二、效果:
1.setAntiAlias (boolean aa)
设置抗锯齿
2.setStyle(Paint.Style style)
设置图形风格,线条、填充还是两者都用
3.设置线条形状
-
setStrokeWidth(float width)设置线条宽度 -
setStrokeCap(Paint.Cap cap)设置线头形状 -
setStrokeJoin(Paint.Join join)设置拐角形状 -
setStrokeMiter(float miter)对setStrokeJoin补充。默认情况下,大于这个角的尖角会被保留,而小于这个夹角的就会被「削成平头」
4.色彩优化
setFilterBitmap(boolean filter)设置是否使用双线性过滤来绘制 Bitmap 。开启后,可以防止模糊。
5.setPathEffect(PathEffect effect)
给图形的轮廓设置效果
-
CornerPathEffect将拐角设置成圆角 -
DiscretePathEffect把线条进行随机的偏离,让轮廓变得乱七八糟。乱七八糟的方式和程度由参数决定。 -
DashPathEffect使用虚线来绘制线条。 -
PathDashPathEffect用一个具体的path来绘制虚线 -
SumPathEffect组合效果,用多种PathEffect 分别对目标进行绘制,会有多条轮廓 -
ComposePathEffect组合效果,用多种PathEffect对目标进行绘制,只有一条轮廓
6.setShadowLayer
绘制阴影
7. setMaskFilter(MaskFilter maskfilter)
对整个页面进行过滤
-
BlurMaskFilter模糊效果的 MaskFilter -
EmbossMaskFilter浮雕效果的 MaskFilter。
8.获取绘制的 Path
-
getFillPath(Path src, Path dst)获取的drawPath绘制内容的轮廓,包括线条宽度和设置的 PathEffect -
getTextPath()文字绘制实则也是图形绘制,此方法获取的是绘制文字轮廓的path
三、drawText()相关
列如文字大小、间隔、效果(加粗、倾斜、下划线等)
四、初始化类
用来初始化paint对象
-
reset()重置 Paint 的所有属性为默认值。相当于重新 new 一个,不过性能当然高一些啦 -
set(Paint src)把 src 的所有属性全部复制过来。相当于调用 src 所有的 get 方法,然后调用这个 Paint 的对应的 set 方法来设置它们。 -
setFlags(int flags)批量设置flags,例如:
paint.setFlags(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
二、Canvas 绘制
用来真正画一个view的工具
drawCircle() drawRect() drawPath() drawBitmap() drawText() ...
-
绘制辅助
列如绘制范围的裁切,以clip开头的方法
clipPath
clipRect -
4.绘制内容的几何变换
例如放大缩小、平移、旋转等 -
5.绘制顺序
先绘制的内容会被后绘制的内容盖住。绘制前景、背景
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
















暂无评论内容