THotPDF.RegisterNChannelColorSpace 方法
以 PDF 1.6 的 DeviceN 屬性形式,註冊純 process 或 process 加 spot 混合的 NChannel 色彩空間
宣告
function RegisterNChannelColorSpace(
const ColorantNames: array of AnsiString;
const AlternateCS: AnsiString;
const TintC1Matrix: array of Extended): AnsiString; overload;
function RegisterNChannelColorSpace(
const ColorantNames, ProcessColorantNames: array of AnsiString;
const AlternateCS: AnsiString; TintTransform: THPDFObject;
const SpotColorants: array of THPDFNChannelSpotColorant;
const PrintingOrder: array of AnsiString): AnsiString; overload;
單元
HPDFDoc
參數
| 名稱 | 用途 |
|---|---|
ColorantNames | 把 NChannel process 分量映射到 process 色彩空間的名稱 |
AlternateCS | 作為 process 與替換色彩空間的 DeviceGray、DeviceRGB 或 DeviceCMYK |
TintC1Matrix | 把 colorant 值映射到替換色彩空間的 tint transform 矩陣 |
ProcessColorantNames | 出現在主 colorant 陣列中的有序 process 分量 |
TintTransform | 把主 colorant 映射到替換色彩空間的間接 N 分量函數 |
SpotColorants | spot 名稱、Separation tint 函數、選用的 solidity 與選用的 dot-gain 函數 |
PrintingOrder | 所有 process 與 spot colorant 的選用排列順序 |
傳回值
色彩空間資源名稱,可搭配頁面填色與線條的色彩空間 API 使用
使用說明
- 寫出五元素的
DeviceN陣列,其屬性 dictionary 包含/Subtype /NChannel與相符的/Processdictionary - 要求 PDF 1.6 以上,並拒絕空名稱、重複名稱,以及
All和None元件名稱 DeviceGray需要一個分量,DeviceRGB需要三個有序分量,部分DeviceCMYK集合則使用保留的Cyan、Magenta、Yellow與Black名稱- 進階 overload 會在
/Colorants寫出個別的 Separation 定義、精確的/Process分量,以及選用的/MixingHints(含/Solidities、/PrintingOrder與/DotGain) - 主、process 與 spot 陣列必須恰好涵蓋每個 colorant 一次,tint 與 dot-gain 函數必須是具備有效形狀的間接物件,solidity 則必須落在 0 到 1 之間
- 同一份文件裡以不同的替換色彩空間或 tint 函數註冊同一個 spot 名稱,會在輸出前失敗