Mask组件的原理是使用了模板测试
建议先了解下模板测试再往下看:https://www.cnblogs.com/lyh916/p/10555963.html
例子:
一.
1.Mask的第一个dc,将Image所在区域的模板缓冲设置为1(默认是0)
2.Mask的最后一个dc,将Image所在区域的模板缓冲恢复为0
3.Mask中间的dc,用于绘制Mask下的UI元素,注意是UI元素,如果UI下挂了特效,那么特效是不会夹在第一个dc和最后一个dc之间绘制的。这时UI元素的模板参考值会变成1
二.
1.Mask组件所在的Image,其材质发生了变化
2.Mask下的UI元素,其材质也发生了变化