THotPDF.RegisterMultiStopRadialGradient 方法
註冊可重複使用的原生 PDF 徑向 shading,在內圓與外圓之間對兩個以上的 color stop 做插值
宣告
function RegisterMultiStopRadialGradient(X0, Y0, R0, X1, Y1, R1: Single; const StopPositions: array of Single; const StopColors: array of Single; ComponentsPerStop: Integer): AnsiString;
單元
HPDFDoc
參數
| 名稱 | 用途 |
|---|---|
X0, Y0, R0 | 內圓的圓心與非負半徑 |
X1, Y1, R1 | 外圓的圓心與非負半徑 |
StopPositions | 兩個以上嚴格遞增的有限位移,範圍含端點 0 到 1 |
StopColors | 攤平排列的有限色彩分量,範圍含端點 0 到 1 |
ComponentsPerStop | 1 選 DeviceGray,3 選 DeviceRGB,4 選 DeviceCMYK |
傳回值
傳回產生的 Pattern 資源名稱,可交給 THPDFPage.SetFillPattern 或 THPDFPage.SetStrokePattern 使用
行為
- 以有界的 Function Type 2 線段組出一個 PDF Function Type 3 stitching function
- 寫出 Shading Type 3 dictionary,並包進可重複使用的 Pattern Type 2 資源
- 把第一個與最後一個 stop 顏色延伸到徑向定義域之外
- 拒絕非有限座標、負半徑、格式錯誤的顏色陣列、重複位移,以及超出有效範圍的位移或色彩分量
- 要求 PDF 1.3,並遵循文件的版本鎖定政策
範例
PatternName := Document.RegisterMultiStopRadialGradient(
300, 400, 0, 300, 400, 250,
[0.0, 0.5, 1.0],
[1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0], 3);
Document.CurrentPage.SetFillPattern(PatternName);