You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在PUML对象图中堆叠对象或添加阴影视觉效果?

PUML对象图实现堆叠/阴影效果的方案

PUML本身没有原生支持对象堆叠或阴影效果的语法,但可以通过手动定位多层空对象/矩形框的方式模拟出你要的视觉效果,以下是两种具体实现方式:

一、模拟松散堆叠效果(对应第一个示例)

通过给多个空白矩形/对象设置不同的位置偏移,叠加在主对象上方,模拟堆叠层次感:

@startuml
' 主对象,包含文本
rectangle "Some text\n    here" as main #white

' 第一层堆叠框,向左上偏移10单位
rectangle "" as layer1 #white pos main.x-10 main.y-10

' 第二层堆叠框,在第一层基础上再向左上偏移10单位
rectangle "" as layer2 #white pos layer1.x-10 layer1.y-10

' 隐藏无意义的连接线,确保主对象显示在最上层
main -[hidden]- layer1
layer1 -[hidden]- layer2
@enduml

二、模拟紧凑堆叠效果(对应第二个示例)

缩小偏移量,让多层框更贴近,就能实现紧凑的堆叠样式:

@startuml
skinparam object {
    BorderColor black
    BackgroundColor white
}
' 主对象
object "Some Text\nhere" as main

' 第一层紧凑堆叠框,向左上偏移3单位
object "" as layer1 pos main.x-3 main.y-3

' 第二层紧凑堆叠框,继续偏移3单位
object "" as layer2 pos layer1.x-3 layer1.y-3

main -[hidden]- layer1
layer1 -[hidden]- layer2
@enduml

注意事项

  • 偏移量可以根据需求自行调整,数值越小堆叠越紧凑
  • 空白框的样式可以通过skinparam或直接指定颜色(比如#lightgray)来模拟阴影效果
  • 必须添加隐藏连接线,否则PUML可能会自动调整层级,导致主对象被遮挡

内容的提问来源于stack exchange,提问作者mmo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 09:26:06