我正在制作一些 plantuml 图,对于任何活跃的参与者,我想显示与参与者颜色相似的颜色。有没有办法直接从参与者框中引用颜色?
示例代码:
@startuml
Participant "bar" as bar #aquamarine
Participant "foo" as foo #lightblue
bar -> foo: hello
activate bar #aquamarine
activate foo #lightblue
foo -> bar : data back
deactivate foo
deactivate bar
@enduml
/' Can above statement - bar color #aquamarine be taken from participant "bar" with some config /'
/' Can above statement - foo color #lightblue be taken from participant "foo" with some config /'
=== 添加新信息(目前的解决方法)===
我探索了很多文档,现在我想到的最好的方法是编写一些脚本,以根据如下参数获得至少基本颜色:
' ======= SCRIPTING STARTS=========
' defining colors
!$aClr = "#lavender"
!$bClr = "#business"
!$ctClr = "#deepskyblue"
!function clr()
!return clr("a")
!endfunction
!function clr($p)
!return %get_variable_value("$"+$p+"Clr")
!endfunction
' ======= SCRIPTING ENDS=========
participant "A" as a clr()
participant "B" as a clr("b")
如果有更好的方法请提出。
谢谢
' ======= SCRIPTING STARTS=========
' defining colors
!$aClr = "#lavender"
!$bClr = "#business"
!$ctClr = "#deepskyblue"
!function clr()
!return clr("a")
!endfunction
!function clr($p)
!return %get_variable_value("$"+$p+"Clr")
!endfunction
!procedure active($p)
activate $p clr($p)
!endprocedure
' ======= SCRIPTING ENDS=========
participant "A" as a clr()
participant "B" as b clr("b")
a -> b : hello
active(a)
active(b)
b -> a : data back
deactivate a
deactivate b