Độ bão hòa văn bản trong SVG C#

Độ bão hòa trong hình ảnh được mô tả là cường độ của màu sắc. Đôi khi bạn có thể cần thêm văn bản vào hình ảnh SVG và làm bão hòa nó. Phù hợp với các tình huống như vậy, bài viết này trình bày cách thực hiện bão hòa văn bản trong ảnh SVG theo chương trình trong C#.

API C# để làm bão hòa văn bản trong ảnh SVG - Cài đặt

API Aspose.SVG cho .NET có khả năng tạo hoặc thao tác các hình ảnh SVG. Bạn có thể áp dụng các bộ lọc khác nhau và làm việc với nhiều thuộc tính của hình ảnh Đồ họa Vectơ có thể mở rộng, cũng như chuyển đổi hình ảnh SVG sang định dạng được hỗ trợ. Chỉ cần tải xuống tệp DLL hoặc chạy lệnh cài đặt NuGet sau:

PM> Install-Package Aspose.SVG

Làm thế nào để bão hòa văn bản trong hình ảnh SVG trong C#

Bạn có thể chèn văn bản vào hình ảnh SVG và làm bão hòa nó bằng các bước sau:

  1. Tạo một đối tượng lớp SVGDocument.
  2. Tạo phần tử định nghĩa và bộ lọc.
  3. Tạo một phần tử feColorMatrix và thêm văn bản vào SVG.
  4. Lưu hình ảnh SVG đầu ra.

Phần sau sẽ trình bày kỹ hơn về cách thực hiện các bước này trong đoạn mã C#:

Văn bản bão hòa trong hình ảnh SVG có lập trình trong C#

Bạn có thể bão hòa văn bản trong hình ảnh SVG bằng các bước sau:

  1. Tạo một đối tượng lớp SVGDocument.
  2. Truy cập phần tử SVG gốc và đặt URL không gian tên.
  3. Tạo một đối tượng lớp SVGDefsElement và thêm nó vào phần tử SVG.
  4. Khởi tạo một cá thể lớp SVGFEColorMatrixElement và đặt các giá trị khác nhau.
  5. Xác định đối tượng lớp SVGTextElement và thêm văn bản vào SVG.
  6. Cuối cùng, xuất ảnh SVG đầu ra bằng phương thức Save().

Đoạn mã dưới đây trình bày cách tạo hiệu ứng bão hòa với ma trận màu trong C#:

// Tạo một phiên bản của lớp SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// Đặt Url không gian tên SVG
string SvgNamespace = "http://www.w3.org/2000/svg";
// Nhận phần tử svg gốc của tài liệu
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;


// Tạo một phần tử defs và thêm vào svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Tạo một phần tử bộ lọc và thêm vào 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);


// Tạo một phần tử 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);

// Tạo một phần tử văn bản và thêm vào 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);

// Lưu tài liệu SVG
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));

Nhận giấy phép API miễn phí

Bạn có thể yêu cầu giấy phép tạm thời miễn phí để đánh giá tất cả các tính năng của API ở mức tối đa của chúng.

Sự kết luận

Trong bài viết này, bạn đã học cách áp dụng độ bão hòa văn bản trong ảnh SVG theo chương trình trong C#. Trong khi đó, bạn có thể xem phần tài liệu để tìm hiểu nhiều tính năng khác có trong API. Trong trường hợp bạn muốn thảo luận về bất kỳ mối quan tâm hoặc sự mơ hồ nào của mình, vui lòng liên hệ với chúng tôi tại diễn đàn hỗ trợ miễn phí.

Xem thêm