Shader —着色器
Canvas的drawXXXX这个方法是画具体的形状,画笔的shader定义的就是图形的着色和外观
TileMode 拉伸形式,当画的内容小于要显示的区域时,剩余内容区域的填充方式
CLAMP –是拉伸最后一个像素铺满
MIRROR —是横向纵向不足处不断翻转镜像平铺
REPEAT —类似电脑壁纸,横向纵向不足的重复放置
1 BitmapShader
SeniorUI0401_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:霓虹灯文字
效果:倒影图片
3 SweepGradient—-渐变渲染/梯度渲染
效果:雷达扫描
4 RadialGradient—-环形渲染
效果:水波纹效果