愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • PinToo幫助主頁
  • 學習手冊

    • 基本入門

    • 功能介紹

    • 控制元件說明

      • 公共屬性
      • 標準控制元件
      • 系統控制元件
      • 附加控制元件
      • 佈局控制元件
      • 形狀控制元件
      • 數據控制控制元件
      • 手勢控制元件
      • 儀表盤控制元件
      • 快速設計控制元件
      • 多媒體控制元件
      • 物聯網控制元件
      • 地圖控制元件
      • 數據表格控制元件
      • 特效控制元件
      • 動畫控制元件
      • SVG控制元件
        • 1. TfxThreadImage
          • 1.1. 屬性
          • 1.1.1. Buffered
          • 1.1.2. FileName
          • 1.1.3. FindOptions
          • 1.1.4. Interval
          • 1.1.5. Lines
          • 1.1.6. MarginWrapMode
          • 1.1.7. Opacity
          • 1.1.8. Options
          • 1.1.9. Quality
          • 1.1.10. ScaleOriginal
          • 1.1.11. SVGDocument
          • 1.1.12. SVGImgList
          • 1.1.13. SVGMargins
          • 1.1.14. SVGRootID
          • 1.1.15. WrapMode
          • 1.2. 事件
        • 2. TfxSVGImage
          • 2.1. 屬性
          • 2.1.1. Buffered
          • 2.1.2. DisableInterpolation
          • 2.1.3. FindOptions
          • 2.1.4. MarginWrapMode
          • 2.1.5. Opacity
          • 2.1.6. Quality
          • 2.1.7. ScaleOriginal
          • 2.1.8. SVGDocument
          • 2.1.9. SVGImgList
          • 2.1.10. SVGMargins
          • 2.1.11. SVGRootID
          • 2.1.12. WrapMode
          • 2.2. 事件
          • 2.3. 方法
          • 2.3.1. IsBuffered
          • 2.4. 用法
          • 2.5. TfxSVGPath
          • 2.6. 屬性
          • 2.6.1. SVGID
          • 2.6.2. SVGMartix
          • 2.6.3. WrapMode
        • 3. TfxSVGPath
          • 3.1. 屬性
          • 3.1.1. SVGID
          • 3.1.2. SVGMartix
        • 4. TfxSVGText
          • 4.1. 屬性
          • 4.1.1. SVGID
          • 4.1.2. SVGMartix
          • 4.1.3. SVGText
        • 5. TfxSVGPanel
          • 5.1. 屬性
          • 5.1.1. ScaleOriginal
          • 5.1.2. SVGDocument
          • 5.1.3. SVGRootID
          • 5.1.4. WrapMode
          • 5.2. 事件
          • 5.3. 方法
          • 5.3.1. ClearSVGDocument
          • 5.3.2. FindControl
        • 6. TfxSVGLayout
          • 6.1. 屬性
          • 6.1.1. SVGID
          • 6.1.2. SVGMartix
        • 7. TfxSVGDocument
          • 7.1. 屬性
          • 7.2. 屬性
          • 7.2.1. DefaultAspectRatio
          • 7.2.2. DPI
          • 7.2.3. EmbedSVGAsBinary
          • 7.2.4. FileName
          • 7.2.5. Lines
          • 7.2.6. Options
          • 7.2.7. PreferredLanguage
        • 8. TfxSVGImageList
          • 8.1. 屬性
          • 8.1.1. DefaultSizes
          • 8.1.2. Items
      • IsoBean控制元件
    • 功能用法

    • 專用模板

    • 開發流程

    • 函式程式

  • 開發手冊

目录

SVG控制元件

# PinToo 控制元件使用(SVG控制元件)

  以下組中包含用於顯示SVG圖形相關的控制元件。

# 1. TfxThreadImage

  此控制元件用於顯示 SVG 的圖形影象,通過在重新縮放控制元件時重新繪製SVG來確保影象始終具有最高解析度。

  此控制元件在表單上顯示 SVG 的圖形影象。 通過 Filename 或 Lines 屬性來控制影象中顯示的 SVG。

  此控制元件預置了一個目錄用於放置預設或者自定義的SVG圖形列表。其目錄位於PinToo設計器安裝目錄中的resources/images/svg中,所有的SVG圖形按照資料夾進行分組放置。通過雙擊控制元件來打開SVG相簿,進行SVG圖形的快速選擇。

# 1.1. 屬性

屬性 功能說明
Buffered 此屬性用於指定是否將SVG繪製到後臺緩衝區,然後將該影象複製到前臺(預設設定)還是直接在前臺繪製SVG圖形
FileName 定義要在設計時和運行時載入的 SVG 文件的檔名
FindOptions 此屬性用於幫助控制元件確定哪個svg元素位於滑鼠游標處
Interval 設定輪播的時間間隔,以ms(毫秒)為單位
Lines 定義要載入的 SVG 的 XML 文字。當您不想從具有 Filename 屬性的檔案載入 SVG 時,Lines 屬性非常有用
MarginWrapMode 指定SVG的邊距如何調整大小、複製和定位
Opacity 此屬性用於指定SVG影象的不透明度。如果Opacity小於1,則SVG顯示為半透明。 如果 Opacity為 0,則不顯示SVG
Options 定義用於讀取、顯示和寫入文件的選項
Quality 此屬性控制SVG影象的Buffered繪畫的質量。 質量值可以取值于1(低)到 8(非常高)
ScaleOriginal 指定用於繪製 SVG 的比例。使用 ScaleOriginal 屬性可以在元件內放大或縮小 SVG。 這對於控制平鋪 SVG 或放大或縮小 SVG 很有用
SVGDocument 指定控制元件引用的SVGDocument控制元件名稱
SVGImgList 設定顯示輪播圖形使用的SVG影象列表控制元件名稱
SVGMargins 指定元件顯示的SVG的邊距
SVGRootID 指定將 SVGDocument 的哪個節點繪製為頂級 SVG 文件。使用 SVGRootID 屬性僅顯示 SVGDocument 的一部分
WrapMode 指定是否調整SVG圖形,以及設定如何調整影象大小、複製和定位SVG影象以呈現在控制元件中

# 1.1.1. Buffered

property Buffered: Boolean;
1

  此屬性用於指定是否將SVG繪製到後臺緩衝區,然後將該影象複製到前臺(預設設定)還是直接在前臺繪製SVG圖形 。當 Opacity 小於 1 或平鋪 SVG 時,緩衝功能將始終處於啟用狀態。

# 1.1.2. FileName

property Filename: String;
1

  定義要在設計時和運行時載入的 SVG 文件的檔名。

# 1.1.3. FindOptions

property FindOptions: TSVGFindOptions
1

  此屬性用於幫助控制元件確定哪個svg元素位於滑鼠游標處。

名稱 說明
foFindDisabled 當此選項存在時,搜索演算法將檢測禁用的 (TSVGElement.Enabled=False) 元素以及啟用的元素。當此選項不存在時,搜索演算法將只檢測啟用的元素
foFindGroups 是否將分組與SVG作為元素查詢。如果此選項不存在,則只能找到組的子項,而不是組本身
foFindHiddenElements 是否查詢隱藏的元素。當這個選項存在時,仍然可以找到不可見的元素
foFindNonFilled 當此選項存在時,搜索演算法會將具有Brush.Kind = None 的svg元素視為沒有孔的實體對象。當此選項不存在時,帶有 Brush.Kind = None 的 svg 元素將被視為「空心」,並且只會檢測元素輪廓上的點
foFindNoRecursion 當此選項存在時,查詢演算法將不會嘗試查詢元素的子元素
foUseBoundingBox 當此選項存在時,使用它們的邊界框查詢元素(更快但不太準確)。當此選項不存在時,按形狀查詢元素(更慢但更準確)

# 1.1.4. Interval

property Interval: Integer;
1

  此屬性用於設定圖片輪播的時間間隔,以ms為單位。

# 1.1.5. Lines

property Lines: TStrings;
1

  定義要載入的 SVG 的 XML 文字。當您不想從具有 Filename 屬性的檔案載入 SVG 時,Lines 屬性非常有用。

# 1.1.6. MarginWrapMode

property MarginWrapMode: TSVGImageWrapMode;
1

  此屬性用於指定 SVG 的邊距如何調整大小、複製和定位。

  使用此屬性可設定或獲取SVG 的邊距在控制元件中的顯示方式。 預設情況下,邊距會被拉伸以填充整個控制元件。如果未設定SVGMargins屬性,則 MarginWrapMode屬性無效。

  • iwOriginal: 以原始尺寸顯示 SVG。
  • iwFit: 控制元件矩形的最佳擬合(保持 SVG 比例 - 寬度和高度之間的比率)。此項為預設設定項。
  • iwStretch:拉伸SVG以填充控制元件的整個矩形。
  • iwTile:平鋪控制元件影象顯示區域以覆蓋控制元件的整個矩形。
  • iwCenter: 將 SVG 在控制元件內居中。

# 1.1.7. Opacity

property Opacity: Single;
1

  此屬性用於指定SVG影象的不透明度。如果Opacity小於1,則SVG顯示為半透明。 如果 Opacity為 0,則不顯示SVG。

# 1.1.8. Options

 property Options: TSVGOptions;
1

  定義用於讀取、顯示和寫入文件的選項。包含以下選項:

名稱 說明
soApplyClipping 為繪圖應用剪下路徑
soCompactExport 導出SVG時,只導出非繼承屬性
soEnforceUniqueID 為 SVG 元素強制執行唯一 ID 或引發異常。如果此選項不存在,SVG 文件將產生唯一 ID(可能會破壞 URI)以確保保留唯一性
soExportDisabled 導出 SVG 時,導出禁用元素和啟用元素
soExportOptimizedBinaryStyleProperties 導出二進制 SVG 時,優化樣式屬性集(繼承和首選樣式)的流式傳輸方式。優化集合流的速度要快得多,因為它會流出樣式屬性列舉值的序數值。但是,如果樣式屬性列舉的順序將來發生變化,您可能會載入不正確的結果
soExportUnknownXML 導出SVG時,導出未知的svg/xml元素
soFMXRadialGradientPatch 設定 Gradient.Transform 屬性以獲得最佳渲染質量
soSkipUnknownXML 載入 XML 時跳過未知節點或在載入時觸發異常
soUseFillText 繪製文字元素時,使用 FillText(更快但不太相容)或將文字轉換為路徑並使用 FillPath(更慢但更相容)
soUseLocaleForLanguage 使用系統區域設定語言顯示元素(適用於 Switch SVG 元素)(僅限 Windows)

# 1.1.9. Quality

property Quality: Integer;
1

  此屬性控制SVG影象的Buffered繪畫的質量。 質量值可以取值于1(低)到 8(非常高)。

# 1.1.10. ScaleOriginal

property ScaleOriginal: Single;
1

  指定用於繪製 SVG 的比例。使用 ScaleOriginal 屬性可以在 TRSSVGImage 元件內放大或縮小 SVG。 這對於控制平鋪 SVG 或放大或縮小 SVG 很有用。

# 1.1.11. SVGDocument

property SVGDocument: TRSSVGDocument;
1

  指定要在控制元件中顯示的SVG文件的名稱。SVGDocument和SVGRootID屬性精確控制要顯示的SVG文件和SVG文件層次結構分支。

# 1.1.12. SVGImgList

property SVGImgList: TRSSVGImageList;
1

  此屬性用於設定顯示輪播圖形使用的影象列表控制元件的名稱。

# 1.1.13. SVGMargins

property SVGMargins: TBounds;
1

  指定元件顯示的SVG的邊距。

# 1.1.14. SVGRootID

property SVGRootID: String;
1

  指定將 SVGDocument 的哪個節點繪製為頂級 SVG 文件。使用 SVGRootID 屬性僅顯示 SVGDocument 的一部分。

# 1.1.15. WrapMode

property WrapMode: TSVGImageWrapMode
1

  指定是否調整SVG圖形,以及設定如何調整影象大小、複製和定位SVG影象以呈現在控制元件中。

  • iwOriginal: 以原始尺寸顯示 SVG。
  • iwFit: 控制元件矩形的最佳擬合(保持 SVG 比例 - 寬度和高度之間的比率)。此項為預設設定項。
  • iwStretch:拉伸SVG以填充控制元件的整個矩形。
  • iwTile:平鋪控制元件影象以覆蓋控制元件的整個矩形。
  • iwCenter: 將 SVG 在控制元件內居中。

# 1.2. 事件

事件 何時觸發
OnClickElement 在控制元件中單擊滑鼠時發生。 Element 參數指定滑鼠游標下的元素,如果滑鼠下沒有元素,則為 nil。FindOptions屬性指定控制元件如何確定滑鼠游標下的 svg 元素。

# 2. TfxSVGImage

  此控制元件可用於顯示SVG的圖形影象。 該控制元件在縮放控制元件時通過重新繪製SVG來確保影象始終具有最高解析度。

  此控制元件可在表單上顯示 SVG 的圖形影象。 使用SVGDocument和SVGRootID屬性來控制影象中顯示的SVG。 此控制元件引入了幾個屬性,使得在對象的邊界內顯示SVG。

# 2.1. 屬性

屬性 功能說明
Buffered 此屬性用於指定是否將SVG繪製到後臺緩衝區,然後將該影象複製到前臺(預設設定)還是直接在前臺繪製SVG圖形
DisableInterpolation 設定是否禁用插值演算法渲染SVG的功能
FindOptions 此屬性用於幫助控制元件確定哪個svg元素位於滑鼠游標處
MarginWrapMode 指定SVG的邊距如何調整大小、複製和定位
Opacity 此屬性用於指定SVG影象的不透明度。如果Opacity小於1,則SVG顯示為半透明。 如果 Opacity為 0,則不顯示SVG
Quality 此屬性控制SVG影象的Buffered繪畫的質量。 質量值可以取值于1(低)到 8(非常高)
ScaleOriginal 指定用於繪製 SVG 的比例。使用 ScaleOriginal 屬性可以在元件內放大或縮小 SVG。 這對於控制平鋪 SVG 或放大或縮小 SVG 很有用
SVGDocument 指定控制元件引用的SVGDocument控制元件名稱
SVGMargins 指定元件顯示的SVG的邊距
SVGRootID 指定將 SVGDocument 的哪個節點繪製為頂級 SVG 文件。使用 SVGRootID 屬性僅顯示 SVGDocument 的一部分
WrapMode 指定是否調整SVG圖形,以及設定如何調整影象大小、複製和定位SVG影象以呈現在控制元件中

# 2.1.1. Buffered

property Buffered: Boolean;
1

  此屬性用於指定是否將SVG繪製到後臺緩衝區,然後將該影象複製到前臺(預設設定)還是直接在前臺繪製SVG圖形 。當 Opacity 小於 1 或平鋪 SVG 時,緩衝功能將始終處於啟用狀態。

# 2.1.2. DisableInterpolation

property DisableInterpolation: Boolean;
1

  設定是否禁用插值演算法渲染SVG的功能。

# 2.1.3. FindOptions

property FindOptions: TSVGFindOptions
1

  此屬性用於幫助控制元件確定哪個svg元素位於滑鼠游標處。

名稱 說明
foFindDisabled 當此選項存在時,搜索演算法將檢測禁用的 (TSVGElement.Enabled=False) 元素以及啟用的元素。當此選項不存在時,搜索演算法將只檢測啟用的元素
foFindGroups 是否將分組與SVG作為元素查詢。如果此選項不存在,則只能找到組的子項,而不是組本身
foFindHiddenElements 是否查詢隱藏的元素。當這個選項存在時,仍然可以找到不可見的元素
foFindNonFilled 當此選項存在時,搜索演算法會將具有Brush.Kind = None 的svg元素視為沒有孔的實體對象。當此選項不存在時,帶有 Brush.Kind = None 的 svg 元素將被視為「空心」,並且只會檢測元素輪廓上的點
foFindNoRecursion 當此選項存在時,查詢演算法將不會嘗試查詢元素的子元素
foUseBoundingBox 當此選項存在時,使用它們的邊界框查詢元素(更快但不太準確)。當此選項不存在時,按形狀查詢元素(更慢但更準確)

# 2.1.4. MarginWrapMode

property MarginWrapMode: TSVGImageWrapMode;
1

  此屬性用於指定 SVG 的邊距如何調整大小、複製和定位。

  使用此屬性可設定或獲取SVG 的邊距在控制元件中的顯示方式。 預設情況下,邊距會被拉伸以填充整個控制元件。如果未設定SVGMargins屬性,則 MarginWrapMode屬性無效。

  • iwOriginal: 以原始尺寸顯示 SVG。
  • iwFit: 控制元件矩形的最佳擬合(保持 SVG 比例 - 寬度和高度之間的比率)。此項為預設設定項。
  • iwStretch:拉伸SVG以填充控制元件的整個矩形。
  • iwTile:平鋪控制元件影象顯示區域以覆蓋控制元件的整個矩形。
  • iwCenter: 將 SVG 在控制元件內居中。

# 2.1.5. Opacity

property Opacity: Single;
1

  此屬性用於指定SVG影象的不透明度。如果Opacity小於1,則SVG顯示為半透明。 如果 Opacity為 0,則不顯示SVG。

# 2.1.6. Quality

property Quality: Integer;
1

  此屬性控制SVG影象的Buffered繪畫的質量。 質量值可以取值于1(低)到 8(非常高)。

# 2.1.7. ScaleOriginal

property ScaleOriginal: Single;
1

  指定用於繪製 SVG 的比例。使用 ScaleOriginal 屬性可以在 TRSSVGImage 元件內放大或縮小 SVG。 這對於控制平鋪 SVG 或放大或縮小 SVG 很有用。

# 2.1.8. SVGDocument

property SVGDocument: TRSSVGDocument;
1

  指定要在控制元件中顯示的SVG文件的名稱。SVGDocument和SVGRootID屬性精確控制要顯示的SVG文件和SVG文件層次結構分支。

# 2.1.9. SVGImgList

property SVGImgList: TRSSVGImageList;
1

  此屬性用於設定顯示輪播圖形使用的影象列表控制元件的名稱。

# 2.1.10. SVGMargins

property SVGMargins: TBounds;
1

  指定元件顯示的SVG的邊距。

# 2.1.11. SVGRootID

property SVGRootID: String;
1

  指定將 SVGDocument 的哪個節點繪製為頂級 SVG 文件。使用 SVGRootID 屬性僅顯示 SVGDocument 的一部分。

# 2.1.12. WrapMode

property WrapMode: TSVGImageWrapMode
1

  指定是否調整SVG圖形,以及設定如何調整影象大小、複製和定位SVG影象以呈現在控制元件中。

  • iwOriginal: 以原始尺寸顯示 SVG。
  • iwFit: 控制元件矩形的最佳擬合(保持 SVG 比例 - 寬度和高度之間的比率)。此項為預設設定項。
  • iwStretch:拉伸SVG以填充控制元件的整個矩形。
  • iwTile:平鋪控制元件影象以覆蓋控制元件的整個矩形。
  • iwCenter: 將 SVG 在控制元件內居中。

# 2.2. 事件

事件 何時觸發
OnClickElement 在控制元件中單擊滑鼠時發生。 Element 參數指定滑鼠游標下的元素,如果滑鼠下沒有元素,則為 nil。FindOptions屬性指定控制元件如何確定滑鼠游標下的 svg 元素。

# 2.3. 方法

# 2.3.1. IsBuffered

function IsBuffered: Boolean;
1

  如果應該將 SVG 繪製到螢幕外點陣圖,則返回 True。

# 2.4. 用法

  一個 SVG 文件元件可以作為多個 TfxSVGImage 控制元件的數據提供者。 例如,如果 SVG 文件包含一副完整的卡片,您可以使用 SVGRoot 屬性為每張卡片設定多個 TfxSVGImage 控制元件。使用 TfxSVGDocument.Lines 屬性將您的 SVG 文件「捆綁」到應用程式中。

  在設計階段,可使用以下方式來使用:

  • 在窗體中放置一個TfxSVGDocument元件。
  • 設定TfxSVGDocument元件的FileName屬性,指定為SVG檔案,也可以在Lines屬性中輸入SVG的數據資訊。
  • 在窗體中放置一個TfxSVGImage元件。
  • 設定TfxSVGImage元件的SVGDocument屬性為TfxSVGDocument的名稱。

  或者,如果您只想顯示 SVG 文件的一個分支,您可以將 TfxSVGImage.SVGRoot 屬性設定為您想要顯示的 SVG 元素。 如果 SVGRoot 不為空並且它不等於文件中的任何 SVG 元素,則不會顯示任何內容。

# 2.5. TfxSVGPath

  為 SVG 影象元素定義路徑控制元件。 當爲 SVG 產生控制元件時使用這個類(不是使用 TfxSVGImage 元件直接繪製它們),它提供對 SVG 元素的控制元件訪問。

# 2.6. 屬性

屬性 功能說明
SVGID 產生此控制元件的 SVG 元素名稱
SVGMartix 產生SVG變換的相關功能
WrapMode 指定是否調整SVG圖形,以及設定如何調整影象大小、複製和定位SVG影象以呈現在控制元件中

# 2.6.1. SVGID

property SVGID: String;
1

  產生此控制元件的 SVG 元素名稱。

# 2.6.2. SVGMartix

property SVGMatrix: TRSMatrix;
1

  產生SVG變換的相關功能。

# 2.6.3. WrapMode

property WrapMode: TSVGImageWrapMode
1

  指定是否調整SVG圖形,以及設定如何調整影象大小、複製和定位SVG影象以呈現在控制元件中。

  • iwOriginal: 以原始尺寸顯示 SVG。
  • iwFit: 控制元件矩形的最佳擬合(保持 SVG 比例 - 寬度和高度之間的比率)。此項為預設設定項。
  • iwStretch:拉伸SVG以填充控制元件的整個矩形。
  • iwTile:平鋪控制元件影象以覆蓋控制元件的整個矩形。
  • iwCenter: 將 SVG 在控制元件內居中。

# 3. TfxSVGPath

  為 SVG 影象元素定義路徑控制元件。 當爲 SVG 產生控制元件時使用這個類(不是使用 TSVGImage 元件直接繪製它們),它提供對 SVG 元素的控制元件訪問。

# 3.1. 屬性

屬性 功能說明
SVGID 產生此控制元件的 SVG 元素名稱
SVGMartix 產生SVG變換的相關功能

# 3.1.1. SVGID

property SVGID: String;
1

  產生此控制元件的 SVG 元素名稱。

# 3.1.2. SVGMartix

property SVGMatrix: TRSMatrix;
1

  產生SVG變換的相關功能。

# 4. TfxSVGText

  為 SVG 文字元素定義 TText。 當爲 SVG 產生 對像時使用這個類(不是使用 TfxSVGImage 元件直接繪製它們),它提供對 SVG 元素的控制元件訪問。

# 4.1. 屬性

屬性 功能說明
SVGID 產生此控制元件的 SVG 元素名稱
SVGMartix 產生SVG變換的相關功能
SVGText 設定文字顯示的屬性資訊

# 4.1.1. SVGID

property SVGID: String;
1

  指定產生此控制元件的SVG元素名稱。

# 4.1.2. SVGMartix

property SVGMatrix: TRSMatrix;
1

  產生SVG變換的相關功能。

# 4.1.3. SVGText

property SVGText: TSVGText;
1

  設定文字顯示的屬性資訊。

# 5. TfxSVGPanel

  此控制元件提供一個面板,用於為 SVG 產生設計時或運行時對象。 與 TfxSVGImage 元件不同,TfxSVGPanel 元件不使用畫布繪製 SVG。 相反,它產生 控制元件來繪製 SVG。TfxSVGPanel 在功能和與 SVG 規範的相容性方面受到更多限制。 限制包括不能剪裁、旋轉和縮放的控制元件可能會被剪裁。 建議僅在經過測試的 SVG 圖形上使用 TfxSVGPanel 以防止錯誤。

# 5.1. 屬性

屬性 功能說明
ScaleOriginal 指定用於繪製 SVG 的比例。使用 ScaleOriginal 屬性可以在控制元件內放大或縮小 SVG。 這對於控制平鋪 SVG 或放大或縮小 SVG 很有用
SVGDocument 指定要在控制元件中顯示的SVG文件的名稱。SVGDocument和SVGRootID屬性精確控制要顯示的SVG文件和SVG文件層次結構分支
SVGRootID 指定將 SVGDocument 中的某個節點繪製為頂級 SVG 文件。使用 SVGRootID 屬性可僅顯示 SVGDocument 中的一部分內容
WrapMode 指定是否調整SVG圖形,以及設定如何調整影象大小、複製和定位SVG影象以呈現在控制元件中

# 5.1.1. ScaleOriginal

property ScaleOriginal: Single;
1

  指定用於繪製 SVG 的比例。使用 ScaleOriginal 屬性可以在控制元件元件內放大或縮小 SVG。 這對於控制平鋪 SVG 或放大或縮小 SVG 很有用。

# 5.1.2. SVGDocument

property SVGDocument: TRSSVGDocument;
1

  指定要在控制元件中顯示的SVG文件的名稱。SVGDocument和SVGRootID屬性精確控制要顯示的SVG文件和SVG文件層次結構分支。

# 5.1.3. SVGRootID

property SVGRootID: String;
1

  指定將 SVGDocument 中的某個節點繪製為頂級 SVG 文件。使用 SVGRootID 屬性可僅顯示 SVGDocument 中的一部分內容。

# 5.1.4. WrapMode

property WrapMode: TSVGImageWrapMode
1

  指定是否調整SVG圖形,以及設定如何調整影象大小、複製和定位SVG影象以呈現在控制元件中。

  • iwOriginal: 以原始尺寸顯示 SVG。
  • iwFit: 控制元件矩形的最佳擬合(保持 SVG 比例 - 寬度和高度之間的比率)。此項為預設設定項。
  • iwStretch:拉伸SVG以填充元件的整個矩形。
  • iwTile:平鋪控制元件影象以覆蓋元件的整個矩形。
  • iwCenter: 將 SVG 在元件內居中。

# 5.2. 事件

事件 何時觸發
OnGenerateControl 為SVG元素產生控制元件時觸發的事件,在為SVG元素建立和初始化控制元件之後,使用OnGenerateControl事件來修改它。

# 5.3. 方法

# 5.3.1. ClearSVGDocument

procedure ClearSVGDocument; 
1

  此方法用於清除SVGDocument屬性而不刪除 SVG 元素。

# 5.3.2. FindControl

function FindControl(SVGID: String): TControl;
1

  返回具有等於SVGID屬性的參數名稱的面板子控制元件。

# 6. TfxSVGLayout

  為 SVG 組元素定義佔位符控制元件。 當爲 SVG 產生控制元件對像時使用這個類(而不是使用 TfxSVGImage 元件直接繪製它們),它提供對 SVG 元素的控制元件訪問。

# 6.1. 屬性

屬性 功能說明
SVGID 產生此控制元件的 SVG 元素名稱
SVGMartix 產生SVG變換的相關功能

# 6.1.1. SVGID

property SVGID: String;
1

  產生此控制元件的 SVG 元素名稱。

# 6.1.2. SVGMartix

property SVGMatrix: TRSMatrix;
1

  產生SVG變換的相關功能。

# 7. TfxSVGDocument

  此控制元件為SVG圖形的顯示控制元件提供訪問庫。可通過在此控制元件的FileName屬性中指定SVG檔案的目錄地址,或者在Lines屬性中引入SVG文字來實現引入的功能。

# 7.1. 屬性

# 7.2. 屬性

屬性 功能說明
DefaultAspectRatio 定義 SVG 的預設縱橫比。如果 SVG 中未使用preserveAspectRatio屬性對縱橫比進行指定,則 SVG 將使用此預設值的縱橫比來顯示圖形。
DPI 用於計算將字串長度轉換為實際值的單位係數的每英吋點數,DPI 應該在載入 SVG 之前設定。例如,如果輸入字串包含「1cm」,則 DPI 可幫助 SVG 庫計算出一釐米有多大
EmbedSVGAsBinary 是否將SVG文件作為二進制嵌入到表單中。將 EmbedSVGABinary 設定為 true 以將 SVG 作為二進制嵌入到表單中。 與使用 TfxSVGDocument.Lines 屬性或從檔案載入 SVG 相比,將 SVG 嵌入為二進制通常允許更快的表單初始化
Filename 定義要在設計時和運行時載入的 SVG 文件的檔名。使用 TfxSVGDocument.EmbedSVGABinary 屬性將 SVG 作為二進制數據嵌入到表單中。使用 TfxSVGDocument.Lines 屬性將 SVG 作為 XML 文字載入和嵌入
Lines 定義要載入的 SVG 的 XML 文字。 使用 TfxSVGDocument.EmbedSVGABinary 屬性將 SVG 作為二進制數據嵌入到表單中。使用 TfxSVGDocument.Lines 屬性將 SVG 作為 XML 文字載入和嵌入
Options 定義用於讀取、顯示和寫入文件的選項
PreferredLanguage 指定用於 SVG 的首選語言。

# 7.2.1. DefaultAspectRatio

property DefaultAspectRatio: TSVGPreserveAspectRatio;
1

  定義 SVG 的預設縱橫比。如果 SVG 中未使用preserveAspectRatio屬性對縱橫比進行指定,則 SVG 將使用此預設值的縱橫比來顯示圖形。其中使用到的屬性如下:

  • Align:指示是否強制統一縮放。有以下型別的選項:
    • saNone:不使用強制統一縮放。
    • saXMaxYMax:使用強制統一縮放。將元素viewBox的<min-x>+<width>取值與控制元件可視視窗的最大值X對齊。將元素viewBox的<min-y>+<height>取值與控制元件可視視窗的最大值Y對齊。
    • saXMaxYMid:使用強制統一縮放。將元素viewBox的<min-x>+<width>取值與控制元件可視視窗的最大值X對齊。將元素viewBox的<min-y>取值與控制元件可視視窗的中點Y值對齊。
    • saXMaxYMin:使用強制統一縮放。將元素viewBox的<min-x>+<width>取值與控制元件可視視窗的最大值X對齊。將元素viewBox的<min-y>取值與控制元件可視視窗的最小值Y對齊。
    • saXMidYMax:使用強制統一縮放。將元素viewBox的中點X值與控制元件可視視窗中的中點X值對齊。將元素viewBox的<min-y>+<height>取值與控制元件可視視窗的最大值Y對齊。
    • saXMidYMid:使用強制統一縮放。將元素viewBox的中點X值與控制元件可視視窗中的中點X值對齊。將元素viewBox的中點Y值與控制元件可視視窗中的中點Y值對齊。
    • saXMidYMin:使用強制統一縮放。將元素viewBox的中點X值與控制元件可視視窗中的中點X值對齊。將元素viewBox的<min-y>取值與控制元件可視視窗的最小值Y對齊。
    • saXMinYMax:使用強制統一縮放。將元素viewBox的<min-x>取值與控制元件可視視窗的最小值X對齊。將元素viewBox的<min-y>+<height>取值與控制元件可視視窗的最大值Y對齊。
    • saXMinYMid:使用強制統一縮放。使用強制統一縮放。將元素viewBox的<min-x>取值與控制元件可視視窗的最小值X對齊。將元素viewBox的<min-y>取值與控制元件可視視窗的中點Y值對齊。
    • saXMinYMin:使用強制統一縮放。使用強制統一縮放。將元素viewBox的<min-x>取值與控制元件可視視窗的最小值X對齊。將元素viewBox的<min-y>取值與控制元件可視視窗的最小值Y對齊。
  • Defer:設定縱橫比與 TSVGImage 元素一起使用時的效果。 如果此項屬性設定為 true,則會使用SVG中定義的 preserveAspectRatio 屬性(如果存在)。 如果引用的SVG中缺少preserveAspectRatio屬性的值,則按照正常的其他規則來處理preserveAspectRatio屬性(即忽略Defer屬性的設定)。 對於其他SVG元素上的preserveAspectRatio,不會使用此屬性。
  • Slice:設定圖形是否為拉伸覆蓋。

# 7.2.2. DPI

property DPI: Integer;
1

  目前屬性用於將字串長度轉換為單位英吋包含的畫素點數,DPI 應該在載入 SVG 之前設定。例如,如果輸入字串包含「1cm」,則 DPI 可幫助 SVG庫計算出一釐米有多大。

# 7.2.3. EmbedSVGAsBinary

property EmbedSVGAsBinary: Boolean;
1

  此屬性用於設定是否將SVG文件作為二進制嵌入到表單中。此屬性設定為true時,將SVG作為二進制嵌入到表單中。 與單使用 Lines 屬性或單從FilName屬性載入 SVG 相比,將 SVG 嵌入為二進制可以使表單更快實現初始化效果。

# 7.2.4. FileName

property Filename: String;
1

  定義要在設計時和運行時載入的 SVG 文件的檔名。

# 7.2.5. Lines

property Lines: TStrings;
1

  定義要載入的 SVG 的 XML 文字。

# 7.2.6. Options

 property Options: TSVGOptions;
1

  定義用於讀取、顯示和寫入文件的選項。包含以下選項:

名稱 說明
soApplyClipping 設定是否為繪圖使用剪下路徑
soCompactExport 設定導出SVG時,是否只導出非繼承類屬性
soEnforceUniqueID 為SVG元素強制應用唯一ID除非引發異常。如果此選項不存在,SVG文件將產生唯一ID(可能會破壞 URI)以確保保留唯一性
soExportDisabled 設定導出 SVG 時,是否導出禁用元素和啟用元素
soExportOptimizedBinaryStyleProperties 設定導出二進制 SVG 時,優化樣式屬性集(繼承和首選樣式)的流式傳輸方式
soExportUnknownXML 設定導出SVG時,是否導出未知的svg/xml元素
soFMXRadialGradientPatch 設定此項以獲得最佳質量
soSkipUnknownXML 設定在載入 XML 時,跳過未知節點,否則在載入時會引發異常
soUseFillText 在繪製文字元素時,是否使用 FillText(更快但不太相容),如果設定為False,在繪製文字元素時會將文字轉換為路徑並使用 FillPath(更慢但更相容)
soUseLocaleForLanguage 使用系統區域設定語言顯示元素(適用於 Switch SVG 元素)

# 7.2.7. PreferredLanguage

property PreferredLanguage: String;
1

  設定指定用於 SVG 的首選語言。不同的語言之間使用,進行分隔。

# 8. TfxSVGImageList

  定義一個完全由 SVG 組成的 TImageList,以實現對不同螢幕解析度和密度的緊湊圖形支援。

  TImageList 元件表示一組相同大小的影象,每個影象都可以通過其索引引用。 它可以在影象列表的 Width 和 Height 發生變化時重新產生點陣圖。

  在設計區域放置此控制元件后,雙擊此控制元件以打開圖形管理界面。

Default Scale Sizes標籤頁中用於設定不同倍率下的圖示顯示大小。

Image List中可用於管理SVG圖片列表。

# 8.1. 屬性

屬性 功能說明
DefaultSizes 指定不同螢幕比例的尺寸集合
Items 定義圖形列表中的集合

# 8.1.1. DefaultSizes

property DefaultSizes: TSVGSizes;
1

  指定不同螢幕比例的尺寸集合。使用 Width 和 Height 為每個螢幕比例產生點陣圖。 將 SVG 新增到Items集合時,其 Sizes 集合將是目前 DefaultSizes 集合的副本。

# 8.1.2. Items

property Items: TSVGCollection;
1

  定義影象列表中的 SVG 集合,用於為其他控制元件提供影象列表使用的影象。

動畫控制元件
IsoBean控制元件

← 動畫控制元件 IsoBean控制元件→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式