当前位置: 首页 > news >正文

Android Compose 图层的合成 : BlendMode

1. 图形的合成是什么 ?Compose中图层的合成通过BlendMode来控制 “显示谁、保留哪部分”常用于裁剪、遮罩、图层叠加。1.1 初始界面PreviewComposablefunMyBlendModeTest(){Box{Box(Modifier.size(100.dp).background(Color.Red,CircleShape))Box(Modifier.padding(start30.dp,top30.dp).size(100.dp).background(Color.Blue,CircleShape))}}默认的显示效果1.2 Modifier.graphicsLayerModifier.graphicsLayer会把组件内容绘制到独立图层变换 / 动画只重绘图层不触发重组也不影响父布局测量。PreviewComposablefunMyBlendModeTest(){Box{Box(Modifier.size(100.dp).background(Color.Red,CircleShape))Box(Modifier.graphicsLayer(blendMode...).padding(start30.dp,top30.dp).size(100.dp).background(Color.Blue,CircleShape))}}2. BlendMode : 图层的合成2.1 BlendMode.SrcOvergraphicsLayer的blendMode的默认值是BlendMode.SrcOver和不加graphicsLayer的效果一样叠加在上面。在图形绘制的概念里source : 源图形 蓝色圆destination : 目标图形 背景 红色圆2.2 BlendMode.DstOver目标在上、源在下目标透明处显源。2.3 BlendMode.Src仅显示源图完全覆盖目标。2.4 BlendMode.Dst仅显示目标图丢弃源图。2.5 BlendMode.SrcIn仅保留重叠部分且只显示源图内容常用作遮罩2.6 BlendMode.DstIn仅保留重叠部分且只显示目标图内容2.7 BlendMode.SrcOut仅保留源图非重叠部分重叠区透明。2.8 BlendMode.DstOut仅保留目标非重叠部分重叠区透明。2.9 BlendMode.SrcAtop2.10 BlendMode.DstAtop显示源全貌重叠区用目标图。2.11 BlendMode.Xor重叠区透明非重叠区保留各自2.12 BlendMode.Clear清除重叠区域变透明。3. BlendMode : 颜色混合除了图像的合成还支持颜色的混合。可以基于源与目标的RGB 通道做色彩运算用于滤镜、特效、艺术合成。这里介绍其中几个。3.1 BlendMode.Plus把源和目标的颜色通道直接相加3.2 BlendMode.Modulate只乘颜色通道不乘 Alpha3.3 BlendMode.Screen反色相乘 → 再反色变亮模式)3.4 BlendMode.Overlay根据底色自动选择 Multiply 或 Screen3.5 BlendMode.Darken每个通道取更暗的那个3.6 BlendMode.Lighten每个通道取更亮的那个3.7 BlendMode.Hue只用源的色相保留目标的饱和度 亮度4. 离屏缓冲详见我的另一篇博文Android Compose 离屏缓冲
http://www.gsyq.cn/news/1378908.html

相关文章:

  • Android Compose 离屏缓冲 : CompositingStrategy.Offscreen
  • 027、内存带宽瓶颈:如何设计NPU避免“内存墙”?
  • 星盘接口开发文档:推进盘接口指南
  • GESP6级C++考试语法知识(二十八、广度优先搜索(三、层级 BFS))
  • 告别杂乱GitHub和文档:手把手教你用WRITE-BUG数字空间管理小组编程项目
  • 网络运维与网络安全 阶段一 基础篇二十
  • BME280传感器扩展板设计:兼容I2C/SPI接口与可配置电源方案详解
  • 互联网大厂Java面试:从Java SE到Spring Boot的全面探讨
  • 5分钟彻底解决网盘限速烦恼:开源工具LinkSwift完全使用指南
  • 【YOLO目标检测全栈实战】77 模型剪枝:让YOLO在边缘设备上“瘦身”的硬核实践
  • Apifox 测试项目实操
  • Apple Silicon Mac 电池管理的终极解决方案:Battery Toolkit 完整指南
  • QQ群数据采集终极教程:5分钟掌握批量抓取技巧
  • 抖音批量下载工具:高效获取用户主页全作品的专业解决方案
  • 从电路图到成品板:用AD和嘉立创搞定你的第一块CC2530开发板(附完整BOM清单)
  • DeepSeek开源协议识别:为什么92%的CI/CD流水线漏报AGPL传染风险?3行代码修复方案
  • 【每周分享】EtherCAT从站代码架构的简要解析
  • 抖音批量下载终极指南:如何3步免费获取用户主页全作品
  • 医用超声相控阵图像穿透力与分辨率问题:成因分析与解决思路
  • 如何3步完成Honey Select 2完整汉化:免费专业游戏翻译工具终极指南
  • OpenVSP飞机参数化设计:从零到一的完整建模与气动分析指南
  • 代码跑偏白盒补漏:判定节点覆盖全路径测试
  • 思源宋体完全免费商用指南:7种字重中文开源字体终极教程
  • 3步掌握TuxGuitar开源吉他谱编辑器:新手也能快速上手的完整指南
  • LDBlockShow完全指南:3步掌握基因组连锁不平衡分析可视化
  • 2026年Hermes Agent/OpenClaw如何集成?阿里云高可用安装及Token Plan配置
  • 终极UE4SS DLL错误排查指南:深度解析与系统级修复方案
  • STI-SNN硬件加速器:提升脉冲神经网络边缘计算能效
  • 别再只会用spline了!MATLAB csape函数详解:从自然边界到夹持边界的实战选择
  • 揭秘系统设计必杀技:算不对这笔云服务器账本也会被挂「蒸汽求职」