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 和 filter 元素。
  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 中包含的各种其他功能。如果您想讨论您的任何疑虑或歧义,请随时通过 免费支持论坛 与我们联系。

也可以看看