當您儲存物件時,您需要識別其格式。 您可以指定的格式列示於表 4 中。Extender 將會以與來源相同的格式儲存影像、 音效或視訊物件。 如果是影像物件,您可以選擇讓 Image Extender 轉換儲存之影像的格式。若選擇轉換影像格式 ,您必須指定來源影像的格式以及目標影像的格式。 目標影像是儲存時的影像。
當您儲存物件而不進行格式轉換時, 請指定來源影像、音效或視訊物件的格式。例如, 下列在 C 應用程式中的陳述式會將點陣圖 (BMP) 影像儲存至資料庫表格中。 來源的內容位於伺服器檔案中。目標影像的格式會與來源影像的格式相同。
EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2IMAGE( CURRENT SERVER, '/employee/images/ajones.bmp', 'BMP', /*image in BMP format */ '', 'Anita''s picture') );
您也可以指定 NULL 值或空白字串為格式, 或對 Image Extender 指定字串 ASIS。然後 Extender 會檢查來源來決定格式。
對可辨識的格式使用 NULL 或 ASIS: 只在格式可為 Extender 所辨識 (亦即 Extender 列示在 表 4 中的其中一個格式) 的情況下, 指定 NULL 值、空白字串或 ASIS。否則,Extender 將無法儲存物件。
當您進行格式轉換而儲存影像時, 請指定來源與目標影像的格式。表 4 列出容許的格式轉換。
此外, 您可以指定轉換選項藉以識別諸如旋轉或壓縮等額外變更 (變更的對象為已儲存的影像)。 您可透過參數及相關值來指定各轉換選項。 表 5中會列出參數及容許的值。 您可以指定多組參數/值配對, 對儲存的影像要求多重變更。
在下列範例中,在將點陣圖 (BMP) 影像 (其內容在伺服器檔案中) 儲存於資料庫表格中時, 其格式被轉換成 GIF 格式。
EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2IMAGE( CURRENT SERVER, '/employee/images/ajones.bmp', 'BMP', /* source format */ 'GIF', /* target format */ '', 'Anita''s picture') );
在下列範例中,前例中的影像在儲存於資料庫表格中時被轉換成 GIF 格式。 此外, 在儲存時該影像被裁剪成 寬 110 圖點、高 150 圖點, 並使用 LZW 壓縮加以壓縮。
EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2IMAGE( CURRENT SERVER, '/employee/images/ajones.bmp', 'BMP', /* source format */ 'GIF', /* target format */ '-x 110 -y 150 -c 14', /* conversion options */ '/employee/images/ajones.gif', 'Anita''s picture') );