請求巢狀內嵌與內嵌 request-nesting-and-embedding
「影像伺服」支援對「影像伺服」請求進行無限巢狀內嵌、內嵌影像演算請求,以及內嵌從外部伺服器擷取的影像。 只有圖層影像和圖層遮色片支援這些機制。
巢狀影像伺服請求 section-6954202119e0466f8ff27c79f4f039c8
您可以在「 」中指定整個「影像伺服」請求,以作為圖層來源 src=
(或 mask=
)命令,語法如下:
…&src=is( nestedRequest)&…
此 is
Token區分大小寫。
巢狀要求不得包含伺服器根路徑(通常是 http:// *server*/is/image/'
)。
'(',')'
)和命令分隔符號字元( '?'
, '&'
, '='
)不可以HTTP編碼。 實際上,巢狀要求的編碼方式必須與外部(巢狀)要求相同。前置處理規則會套用至巢狀要求。
在巢狀要求中指定時(在要求URL中或在 catalog::Modifier
或 catalog::PostModifier
):
fmt=
qlt=
iccEmbed=
printRes=
quantize=
req=
bgc=
如果巢狀請求的結果影像包含遮色片(alpha)資料,則會將該資料作為圖層遮色片傳遞至內嵌圖層。
也忽略以下專案 attribute::MaxPix
和 attribute::DefaultPix
套用至巢狀要求的影像目錄。
您可以選擇加入以下內容,以快取巢狀IS要求的影像結果 cache=on
. 依預設,會停用中繼資料的快取。 只有在預期中間影像會在合理時段內重複用於不同請求時,才應啟用快取。 標準伺服器端快取管理適用。 資料會以無損格式快取。
內嵌影像演算要求 section-69c5548db930412b9b90d9b2951a6969
在伺服器上啟用Dynamic Media影像演算後,演算請求可透過在src= (或mask=)命令中指定來當做圖層來源使用。 使用下列語法:
…&src=ir( *renderRequest*)&…
此 ir
Token區分大小寫。
renderRequest 是常見的影像演算要求,不包括HTTP根路徑 http:// *server*/ir/render/
.
'(',')'
)和命令分隔符號字元( '?'
, '&'
, '='
)不可以HTTP編碼。 實際上,內嵌請求的編碼方式必須與外部(內嵌)請求相同。在巢狀要求中指定時,會忽略下列影像演算命令:
fmt=
qlt=
icc=
iccEmbed=
printRes=
req=
也忽略以下專案 attribute::MaxPix
和 attribute::DefaultPix
套用至巢狀轉譯器請求的材質目錄的。
可選擇快取巢狀IR要求的影像結果,方法是包含 cache=on
. 依預設,會停用中繼資料的快取。 只有在預期中間影像會在合理時段內重複用於不同請求時,才應啟用快取。 標準伺服器端快取管理適用。 資料會以無損格式快取。
內嵌FXG轉譯器請求 section-c817e4b4f7da414ea5a51252ca7e120a
當FXG圖形轉譯器(亦稱為 AGMServer)安裝並啟用影像伺服時,FXG請求可透過在中指定來作為圖層來源 src=
(或 mask=
)命令。 使用下列語法:
…&src=fxg( renderRequest)&…
此 fxg
Token區分大小寫。
renderRequest 是常見的FXG轉譯器要求,不包括HTTP根路徑 http:// *server*/agm/render/
.
'(',')'
)和命令分隔符號字元( '?'
, '&'
, '='
)不可以HTTP編碼。 實際上,內嵌請求的編碼方式必須與外部(內嵌)請求相同。在巢狀要求中指定時,會忽略下列FXG命令:
fmt=
qlt=
icc=
iccEmbed=
cache=
外部影像來源 section-84e83ecfcd1a43748cdfc7a6f8c04cb8
「影像伺服」支援對外國HTTP伺服器上來源影像的存取。
若要指定外部URL src=
或 mask=
命令,請使用括弧分隔外部URL或URL片段:
…&src=( foreignUrl)&…
重要分隔符號字元( '(',')'
)和命令分隔符號字元( '?'
, '&'
, '='
)不可以HTTP編碼。 實際上,內嵌請求的編碼方式必須與外部(內嵌)請求相同。
完整絕對URL (如果 attribute::AllowDirectUrls
已設定),以及相對於設定的URL attribute::RootUrl
是允許的。 如果內嵌絕對URL且屬性為: AllowDirectUrls
為0,或如果已指定相對URL且 attribute::RootUrl
空白。
雖然不能直接在要求URL的路徑元件中指定外部URL,但可以設定預先處理規則,以允許將相對路徑轉換為絕對URL (請參閱以下範例)。
伺服器會根據HTTP回應隨附的快取標頭來快取外部影像。 如果兩者都不 ETag
不存在Last-Modified HTTP回應標頭,也不會快取回應。 這可能會導致重複存取相同外部影像時效能變差,因為「影像伺服」在每次存取時都需要重新擷取並重新驗證影像。
此機制支援的影像檔案格式與影像轉換(IC)公用程式支援的格式相同,但每個元件支援16位元的來源影像除外。
限制 section-fb68e3f0d40947feb94d7bf183b64929
巢狀/內嵌請求所產生的影像大小通常會自動最佳化。 如果已啟用巢狀要求影像的快取,則指定巢狀影像的確切大小即可遞增效能增益,如此一來,便不需要在重複使用快取專案時進一步縮放。
重要影像伺服不支援巢狀或內嵌請求雙重編碼。 巢狀內嵌請求必須像簡單請求一樣使用HTTP編碼。
範例 section-d800cfc31abe46d2a964f8e7929231f1
具有快取的分層範本:
使用巢狀將快取加入至分層範本。 有限的背景影像上覆蓋有高度可變的文字。 初始範本字串可能如下所示:
layer=0&src=$img$&size=300,300&layer=1&text=$txt$
只要稍加修改,我們就能預先縮放第0層影像,並持續快取影像,藉此降低伺服器負載:
layer=0&src=is(?src=$img$&size=300,300&cache=on)&layer=1&text=$txt$
Dynamic Media影像演算的內嵌請求
使用儲存在中的範本 myCatalog/myTemplate;使用Dynamic Media影像演算為範本的layer2產生影像:
http://server/is/image/myCatalog/myTemplate?layer=2&src=ir(myRenderCatalog/myRenderObject?id=myIdValue&sel=group&src=is(myCatalog/myTexture1?res=30)&res=30)&wid=300
請注意巢狀大括弧。 「影像演算」請求會嵌入對「影像伺服」的回呼,以擷取可重複的紋理。
另請參閱 section-109a0a9a3b144158958351139c8b8e69
src= , 遮罩=, 要求前置處理,影像演算參考, 範本, 影像伺服公用程式