Shader —着色器
Canvas的drawXXXX这个方法是画具体的形状,画笔的shader定义的就是图形的着色和外观
TileMode 拉伸形式,当画的内容小于要显示的区域时,剩余内容区域的填充方式
CLAMP –是拉伸最后一个像素铺满
MIRROR —是横向纵向不足处不断翻转镜像平铺
REPEAT —类似电脑壁纸,横向纵向不足的重复放置

1 BitmapShader

SeniorUI0401_Shader使用:放大镜效果
SeniorUI04_Paint高级渲染Shader使用
–位图图像渲染,用BitMap对绘制的图形进行渲染着色,简单来说是用图片对图形进行贴图
BitmapShader bitMapShader = new BitmapShader(bitmap,Shader.TileMode.ClAMP,Shader.TileMode.RePEAT);
paint.setShade(bitMapShader);

缩放:
float scale = Math.max(mWidth/mHeight)/Math.min(mWidth,mHeight);
Matrix matrix = new Matrix();
matrix.setScale(scale,scale);

效果:圆形头像、放大镜

2 LinearGradient–线性渲染

SeniorUI0402_LinearGradient:霓虹灯文字
SeniorUI04_Paint高级渲染Shader使用

效果:倒影图片

3 SweepGradient—-渐变渲染/梯度渲染

梯度渲染
SeniorUI04_Paint高级渲染Shader使用

效果:雷达扫描

4 RadialGradient—-环形渲染

环形渲染
SeniorUI04_Paint高级渲染Shader使用

效果:水波纹效果

5 ComposeShader—-组合渲染

组合渲染
SeniorUI04_Paint高级渲染Shader使用

6雷达图

RadarView

SeniorUI04_Paint高级渲染Shader使用

7 水波纹

RippleView
SeniorUI04_Paint高级渲染Shader使用

相关文章: