Bộ lọc làm mờ Gaussian SVG C#

SVG hoặc Hình ảnh đồ họa vector có thể mở rộng được phổ biến do tính năng chất lượng và khả năng mở rộng của chúng. Bạn có thể áp dụng một số bộ lọc trên ảnh SVG dựa trên yêu cầu của bạn. để làm mờ và làm mịn hình ảnh SVG, bạn có thể áp dụng bộ lọc làm mờ Gaussian. Tiếp theo các trường hợp sử dụng như vậy, bài viết này thảo luận về cách tạo bộ lọc làm mờ Gaussian trên ảnh SVG theo chương trình trong C#.

Bộ lọc Gaussian Blur trên SVG Image - Tải xuống API C#

Aspose.SVG cho .NET có thể được sử dụng để tạo hoặc chỉnh sửa các tệp Đồ họa Vectơ có thể mở rộng theo chương trình trong C#. Bạn có thể nhanh chóng tải xuống tệp DLL từ phần Tải xuống hoặc sử dụng lệnh cài đặt NuGet sau trong Microsoft Visual Studio IDE:

PM> Install-Package Aspose.SVG

Cách tạo bộ lọc Gaussian Blur trên SVG Image trong C#

Bạn có thể tạo bộ lọc làm mờ Gaussian trên ảnh SVG bằng cách làm theo các bước bên dưới:

  1. Khởi tạo một đối tượng lớp SVGDocument và đặt URL vùng tên SVG.
  2. Tạo một phần tử hình ảnh và một phần tử bộ lọc.
  3. Nối phần tử đồ họa.
  4. Tạo một phần tử feGaussianBlur và thêm nó vào filterElement.
  5. Lưu hình ảnh SVG đầu ra.

Tạo Bộ lọc làm mờ Gaussian trên SVG Image Lập trình trong C#

Các bước sau có thể được sử dụng để tạo bộ lọc làm mờ Gaussian trên ảnh SVG theo chương trình trong C#:

  1. Tạo một phiên bản SVGDocument và tải tệp SVG nguồn.
  2. Chỉ định URL không gian tên cho SVG và truy cập phần tử gốc.
  3. Tạo một phần tử bộ lọc và phần tử feGaussianBlur.
  4. Xuất tệp SVG đầu ra bằng phương thức Lưu.

Mẫu mã sau đây trình bày cách tạo bộ lọc làm mờ Gaussian trên ảnh SVG trong C#:

// Khởi tạo một đối tượng lớp SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument("complex.svg");

// Đặ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ử hình ảnh và thêm nó vào svgElement
Aspose.Svg.SVGImageElement imageElement = (Aspose.Svg.SVGImageElement)document.CreateElementNS(SvgNamespace, "image");
imageElement.Href.BaseVal = dataDir +  "complex.jpg";
imageElement.Height.BaseVal.ConvertToSpecifiedUnits(Aspose.Svg.DataTypes.SVGLength.SVG_LENGTHTYPE_PX);
imageElement.Width.BaseVal.ConvertToSpecifiedUnits(Aspose.Svg.DataTypes.SVGLength.SVG_LENGTHTYPE_PX);
imageElement.Height.BaseVal.Value = 640;
imageElement.Width.BaseVal.Value = 480;
imageElement.X.BaseVal.Value = 20;
imageElement.Y.BaseVal.Value = 20;
imageElement.SetAttribute("filter", "url(#F1)");
svgElement.AppendChild(imageElement);

// 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
Aspose.Svg.SVGFilterElement filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
defsElement.AppendChild(filterElement);

// Tạo một phần tử feGaussianBlur và thêm vào filterElement	
Aspose.Svg.Filters.SVGFEGaussianBlurElement feGaussianBlurElement = (Aspose.Svg.Filters.SVGFEGaussianBlurElement)document.CreateElementNS(SvgNamespace, "feGaussianBlur");
feGaussianBlurElement.In1.BaseVal = "SourceGraphic";
feGaussianBlurElement.StdDeviationX.BaseVal = 3;
feGaussianBlurElement.StdDeviationY.BaseVal = 3;
feGaussianBlurElement.SetAttribute("x", "-20px");
feGaussianBlurElement.SetAttribute("y", "-20px");
feGaussianBlurElement.SetAttribute("height", "720px");
feGaussianBlurElement.SetAttribute("width", "560px");
filterElement.Id = "F1";
filterElement.AppendChild(feGaussianBlurElement);

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

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

Bạn có thể đánh giá API mà không có bất kỳ giới hạn đánh giá nào bằng cách yêu cầu giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã tìm hiểu và khám phá cách tạo hiệu ứng bộ lọc làm mờ Gaussian trên ảnh SVG theo chương trình trong C#. Trong khi đó, bạn có thể xem qua không gian tài liệu để kiểm tra các tính năng khác nhau do API cung cấp. Vui lòng viết thư cho chúng tôi tại diễn đàn trong trường hợp bạn cần thảo luận về bất kỳ mối quan tâm nào của mình.

Xem thêm