指令巨集 command-macros

指令巨集為指令集提供已命名的捷徑。

$ *name*$

一下​ name 巨集名稱

巨集是在單獨的巨集定義檔案中定義的,這些檔案可附加到材料目錄或預設目錄中。

name ​不區分大小寫,並且可以包含ASCII字母、數字、'-'、'_'和'.'的任何組合 個字元。

在'?'之後的任何要求中或在vignette::Modifier欄位中的任何地方叫用巨集。 巨集只能代表一或多個影像演算指令,且必須與其他指令以'&'分隔符號分隔。

在剖析期間,巨集引動詞在早期會被替代字串取代。 巨集內的命令會覆寫請求中的相同命令(如果這些命令發生在請求中的巨集呼叫之前)。 此工作流程不同於vignette::Modifier,其要求字串中的命令會覆寫vignette::Modifier字串中的命令,無論要求中的位置為何。

命令巨集不能有引數值,但自訂變數可用來將要求中的值傳遞至巨集。

巨集不可巢狀化。

範例

如果要將相同的命令或屬性套用到不同的演算影象,巨集就很有用。

http://server/ir/render/cat/vig0?fmt=jpeg&qlt=80&sharpen=1&src=cat/matA&res=40 http://server/ir/render/cat/vig1?fmt=jpeg&qlt=80&sharpen=1&src=cat/matB&res=40 http://server/ir/render/cat/vig2?fmt=jpeg&qlt=95&sharpen=1&src=cat/matC&res=40

您可以定義通用屬性的巨集:

render vignette=cat/$vig$&fmt=jpg&qlt=80&sharpen=1&src=cat/$mat$&res=40

巨集的使用方式如下:

http://server/ir/render/cat/vig0?$mat=matc&$render$ http://server/ir/render/cat/vig0?$mat=matc&$render$ http://server/ir/render/cat/vig0?$mat=matc&$render$&qlt=95

因為qlt=與第三個要求不同,在呼叫巨集之後,軟體會覆寫值(指定qlt= before $render$無效)。

另請參閱

catalog::MacroFilecatalog::Modifier,巨集定義參考

recommendation-more-help
a26166cd-f2f4-45ce-996d-96a0f0d6cf49