Saturasi Teks di SVG C#

Saturasi dalam gambar digambarkan sebagai intensitas warna. Terkadang Anda mungkin perlu menambahkan teks dalam gambar SVG dan menjenuhkannya. Sesuai dengan skenario tersebut, artikel ini membahas cara melakukan saturasi teks pada gambar SVG secara terprogram di C#.

C# API untuk Menjenuhkan Teks dalam Gambar SVG - Instalasi

Aspose.SVG for .NET API mampu membuat atau memanipulasi gambar SVG. Anda dapat menerapkan berbagai filter dan bekerja dengan banyak properti gambar Grafik Vektor yang Dapat Diskalakan, serta mengonversi gambar SVG ke format yang didukung. Cukup unduh file DLL atau jalankan perintah instalasi NuGet berikut:

PM> Install-Package Aspose.SVG

Cara Menjenuhkan Teks dalam Gambar SVG di C#

Anda dapat menyisipkan teks dalam gambar SVG dan menjenuhkannya dengan langkah-langkah berikut:

  1. Buat objek kelas SVGDocument.
  2. Buat elemen def dan filter.
  3. Buat elemen feColorMatrix dan tambahkan teks ke SVG.
  4. Simpan gambar SVG keluaran.

Bagian berikut menguraikan lebih lanjut tentang cara melakukan langkah-langkah ini dalam cuplikan kode C#:

Saturasi Teks dalam Gambar SVG Secara terprogram dalam C#

Anda dapat menjenuhkan teks dalam gambar SVG dengan langkah-langkah berikut:

  1. Buat objek kelas SVGDocument.
  2. Akses elemen root SVG dan atur URL namespace.
  3. Buat objek kelas SVGDefsElement dan tambahkan ke elemen SVG.
  4. Inisialisasi instance kelas SVGFEColorMatrixElement dan tetapkan nilai yang berbeda.
  5. Tentukan objek kelas SVGTextElement dan tambahkan teks ke SVG.
  6. Terakhir, ekspor gambar SVG keluaran dengan metode Save().

Cuplikan kode di bawah ini menunjukkan cara membuat efek saturasi dengan matriks warna di C#:

// Buat instance kelas SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// Setel Url Ruang Nama SVG
string SvgNamespace = "http://www.w3.org/2000/svg";
// Dapatkan elemen root svg dari dokumen
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;


// Buat elemen defs dan tambahkan ke svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Buat elemen filter dan tambahkan ke 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);


// Buat elemen 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);

// Buat elemen teks dan tambahkan ke 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);

// Simpan dokumen SVG
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));

Dapatkan Lisensi API Gratis

Anda dapat meminta lisensi sementara gratis untuk mengevaluasi semua fitur API hingga kapasitas penuhnya.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara menerapkan saturasi teks pada gambar SVG secara terprogram dalam C#. Padahal, Anda dapat melihat bagian dokumentasi untuk mempelajari berbagai fitur lain yang disertakan dalam API. Jika Anda ingin mendiskusikan kekhawatiran atau ambiguitas Anda, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga