您当前的位置: 首页 >  ui

命运之手

暂无认证

  • 0浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【高级UI】【014】Canvas特效之Shader

命运之手 发布时间:2021-11-01 17:05:50 ,浏览量:0

什么是Shader

Shader中文名又叫着色器,它用于在绘制图形的同时,为图形添加特定的色彩效果

常见的Shader

BitmapShader:画图形的同时,画位图

LinearGradient:画图形的同时,画线性渐变

SweepGradient:画图形的同时,画扫描渐变

RadialGradient:画图形的同时,画辐射渐变

ComposeShader:组合渐变,多种着色器效果,以特定方式进行组合

Shader.TileMode

平铺模式,是指绘制区域大于给定图形时,剩下的空间如何填充

CLAMP:用最后一个像素的色彩值,填充所有剩下的区域

REPEAT:重复绘制给定的图形

MIRROR:以镜像的方式绘制给定的图形

PorterDuff.Mode

Porter和Duff是两个人名,它们总结出了图像混合时,色彩所有可能的组合方式

因此,PorterDuffMode指的就是图像混合方式 / 色彩组合方式

如下图所示,黄色圆为已存在的目标图像Dst,蓝色矩形为新叠加上去的源图像Src

在这里插入图片描述 PorterDuff.Mode.CLEAR 清除DST和SRC的所有像素

PorterDuff.Mode.SRC 只保留SRC的像素

PorterDuff.Mode.DST 只保留DST的像素

PorterDuff.Mode.SRC_OVER SRC的像素叠加在DST上方

PorterDuff.Mode.DST_OVER DST的像素叠加在SRC上方

PorterDuff.Mode.SRC_IN 取交集区域,只保留SRC像素

PorterDuff.Mode.DST_IN 取交集区域,只保留DST像素

PorterDuff.Mode.SRC_OUT 从SRC上移除交集部分

PorterDuff.Mode.DST_OUT 从DST上移除交集部分

PorterDuff.Mode.SRC_ATOP 保留DST全部,以及SRC的交集部分,并且SRC在上方

PorterDuff.Mode.DST_ATOP 保留SRC全部,以及DST的交集部分,并且DST在上方

PorterDuff.Mode.XOR 取DST和SRC的非交集部分

PorterDuff.Mode.DARKEN 变暗,保留DST和SRC全部,交集部分颜色加深

PorterDuff.Mode.LIGHTEN 变亮,保留DST和SRC全部,交集部分颜色变淡

PorterDuff.Mode.MULTIPLY 正片叠底,取交集区域,且颜色为DST和SRC的色彩叠加值

PorterDuff.Mode.SCREEN 滤色,保留DST和SRC全部像素,但图像在交集处,都根据灰度变为半透明,保留较白部分

PorterDuff.Mode.ADD 饱和度叠加,保留DST和SRC全部像素,但图像在交集处,饱和度进行叠加

PorterDuff.Mode.OVERLAY 根据DST的色彩,决定是MULTIPLY还是SCREEN

效果展示 - 霓虹灯效果

在这里插入图片描述 效果展示 - 渐变爱心效果 在这里插入图片描述 效果展示 - 雷达图效果

在这里插入图片描述 效果展示 - 放大镜效果 在这里插入图片描述 源码下载

Android常见Shader着色器效果源码.zip

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.0439s