我试图将植物的一部分放在有 if else 条件的地方以不同的颜色。我知道像下面这样的plantUml 可用于为最终状态着色,但我正在尝试为plantUml 中的决策部分(如果是块)着色。那可能吗?
@startuml
if (color it) then (yes)
#Orange: Colored;
else (no)
: Not Colored;
endif;
@enduml
我试图将植物的一部分放在有 if else 条件的地方以不同的颜色。我知道像下面这样的plantUml 可用于为最终状态着色,但我正在尝试为plantUml 中的决策部分(如果是块)着色。那可能吗?
@startuml
if (color it) then (yes)
#Orange: Colored;
else (no)
: Not Colored;
endif;
@enduml
正如 albert 所建议的,skinparam ActivityDiamondBackgroundColor 可以是一个解决方案,但它有一个缺点,它会更新图中的所有 if 元素:
@startuml
skinparam ActivityDiamondBackgroundColor green
if (color it) then (yes)
#Orange: Colored;
else (no)
#Transparent : Not Colored;
endif;
if (default color) then (yea)
:Ok;
endif
@enduml
还有另一种方法可以仅在 if 菱形中的文本下更新背景颜色:
@startuml
if (<back:green>color it) then (yes)
#Orange: Colored;
else (no)
#Transparent : Not Colored;
endif;
if (default color) then (yea)
:Ok;
endif
@enduml
至于我,这看起来很草率。但这是为我所知道的单个 if-diamond 着色的唯一方法。
问题不是 100% 清楚,有你想要的图片可能会更好。从我看到的解决方案来看:
@startuml
if (color it) then (yes)
#Orange: Colored;
else (no)
#Transparent : Not Colored;
endif;
@enduml
编辑:重新审视这个问题后,我认为它有点清楚了。可能是您想使用skinparamer
这样的方法skinparam ActivityDiamondBackgroundColor green
:
@startuml
skinparam ActivityDiamondBackgroundColor green
if (color it) then (yes)
#Orange: Colored;
else (no)
#Transparent : Not Colored;
endif;
@enduml