SVG C# 中的文本飽和度

圖像中的飽和度被描述為顏色的強度。有時您可能需要在 SVG 圖像中添加文本並使其飽和。根據此類場景,本文介紹瞭如何在 C# 中以編程方式在 SVG 圖像中執行文本飽和。

用於在 SVG 圖像中飽和文本的 C# API - 安裝

Aspose.SVG for .NET API 能夠創建或操作 SVG 圖像。您可以應用不同的過濾器並使用可縮放矢量圖形圖像的許多屬性,以及將 SVG 圖像轉換為支持的格式。只需下載 DLL 文件或運行以下 NuGet 安裝命令:

PM> Install-Package Aspose.SVG

如何在 C# 中對 SVG 圖像中的文本進行飽和處理

您可以在 SVG 圖像中插入文本並通過以下步驟使其飽和:

  1. 創建一個 SVGDocument 類對象。
  2. 創建 defs 和過濾器元素。
  3. 創建一個 feColorMatrix 元素並將文本添加到 SVG。
  4. 保存輸出的 SVG 圖像。

以下部分進一步闡述瞭如何在 C# 代碼片段中執行這些步驟:

在 C# 中以編程方式飽和 SVG 圖像中的文本

您可以通過以下步驟使 SVG 圖像中的文本飽和:

  1. 創建一個 SVGDocument 類對象。
  2. 訪問根 SVG 元素並設置命名空間 URL。
  3. 創建一個 SVGDefsElement 類對象並將其添加到 SVG 元素。
  4. 初始化一個 SVGFEColorMatrixElement 類實例並設置不同的值。
  5. 定義一個 SVGTextElement 類對象並將文本添加到 SVG。
  6. 最後,使用 Save() 方法導出輸出的 SVG 圖像。

下面的代碼片段演示瞭如何在 C# 中使用顏色矩陣創建飽和度效果:

// 創建 SVGDocument 類的實例
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// 設置 SVG 命名空間 URL
string SvgNamespace = "http://www.w3.org/2000/svg";
// 獲取文檔的根 svg 元素
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;


// 創建一個 defs 元素並添加到 svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// 創建一個過濾器元素並添加到 defsElement
var filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
filterElement.Id = "shadow";
filterElement.SetAttribute("x", "-20px");
filterElement.SetAttribute("y", "-20px");
filterElement.SetAttribute("height", "150px");
filterElement.SetAttribute("width", "150px");
defsElement.AppendChild(filterElement);


// 創建一個 feColorMatrix 元素
var feColorMatrixElement = (Aspose.Svg.Filters.SVGFEColorMatrixElement)document.CreateElementNS(SvgNamespace, "feColorMatrix");
feColorMatrixElement.In1.BaseVal = "SourceGraphic";
feColorMatrixElement.SetAttribute("type", "saturate");
feColorMatrixElement.SetAttribute("values", "0.2");
filterElement.AppendChild(feColorMatrixElement);

// 創建一個文本元素並添加到 svgElement
var textElement = (Aspose.Svg.SVGTextElement)document.CreateElementNS(SvgNamespace, "text");
textElement.Style.FontSize = "5em";
textElement.SetAttribute("x", "20px");
textElement.SetAttribute("fill", "blue");
textElement.SetAttribute("y", "100px");
textElement.TextContent = "Aspose.SVG for .NET API";
textElement.SetAttribute("filter", "url(#shadow)");
svgElement.InsertBefore(textElement, svgElement.FirstChild);

// 保存 SVG 文檔
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));

獲取免費的 API 許可證

您可以申請 免費臨時許可證 以充分評估 API 的所有功能。

結論

在本文中,您學習瞭如何在 C# 中以編程方式在 SVG 圖像中應用文本飽和度。然而,您可以查看 文檔 部分以了解 API 中包含的各種其他功能。如果您想討論您的任何疑慮或歧義,請隨時通過 免費支持論壇 與我們聯繫。

也可以看看