สร้าง SVG ใน C#
เรียนรู้วิธีสร้าง SVG ตั้งแต่เริ่มต้นและวิธีแก้ไขเนื้อหา
วิธีสร้าง SVG ใน C#
กราฟิกเวกเตอร์ที่ปรับขนาดได้ (SVG) เป็นภาษา XML สำหรับการสร้างกราฟิกเวกเตอร์สองมิติ และเอกสาร SVG คือไฟล์ข้อความที่อธิบายรูปภาพในลักษณะพื้นฐานทางเรขาคณิต เช่น เส้น เส้นโค้ง รูปร่าง ข้อความ ฯลฯ หากคุณพัฒนาเว็บไซต์ ให้สร้างข้อมูล การสร้างภาพข้อมูลหรือการทำงานกับสื่อสิ่งพิมพ์ SVG มอบโซลูชันที่หลากหลายและมีประสิทธิภาพสำหรับการสร้างกราฟิก ไลบรารี Aspose.SVG สำหรับ .NET มีชุดคลาสและวิธีการสำหรับการสร้าง แก้ไข การแปลง และการปรับแต่งอื่นๆ ด้วยไฟล์ SVG เรามาสร้างเอกสาร SVG ใหม่กันดีกว่า!
ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Aspose.SVG สำหรับ .NET API ในโปรเจ็กต์ของคุณ กระบวนการติดตั้งค่อนข้างง่าย คุณสามารถติดตั้งผ่านคอนโซล NuGet Package Manager โดยใช้คำสั่งต่อไปนี้:
ติดตั้ง Aspose.SVG สำหรับ .NET
Install-Package Aspose.SVG
สร้างเอกสาร SVG เปล่า
Aspose.SVG สำหรับ .NET API มีคลาส
SVGDocument
ที่สามารถใช้ในการสร้างเอกสาร SVG ได้ SVGDocument เป็นรากของลำดับชั้น SVG และเก็บเนื้อหาทั้งหมด ข้อมูลโค้ด C# ต่อไปนี้แสดงการใช้ตัวสร้าง SVGDocument()
เริ่มต้นเพื่อสร้างเอกสารเปล่า:
- สร้างเอกสาร SVG ตั้งแต่เริ่มต้นโดยใช้ตัวสร้าง SVGDocument()
- บันทึกไฟล์ SVG โดยใช้วิธีใดวิธีหนึ่ง Save()
รหัส C# เพื่อสร้างเอกสาร SVG เปล่า
using System.IO;
using Aspose.Svg;
...
// Initialize an empty SVG document
using (var document = new SVGDocument())
{
// Work with the SVG document here...
// Save the document to a file
document.Save(Path.Combine(OutputDir, "empty.svg"));
}
สร้าง SVG จากสตริงหน่วยความจำ
การสร้าง SVG จากสตริงหน่วยความจำอาจมีประโยชน์หากคุณต้องการสร้าง SVG ได้ทันที การสร้าง SVG จากสตริงทำให้คุณสามารถอัปเดตและแสดงชุดข้อมูลที่เปลี่ยนแปลงในการแสดงภาพของคุณได้อย่างง่ายดาย คุณสามารถสร้าง SVG จากเนื้อหาสตริงได้โดยใช้ SVGDocument(string, string) Constructor:
รหัส C# เพื่อสร้าง SVG จากสตริง
using System.IO;
using Aspose.Svg;
...
var documentContent = "<svg xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"70\" cy=\"70\" r=\"60\" fill=\"#ff0000\" /> <polygon points=\"160,10 350,140 210,350 50,199\" style=\"fill: orange\" /></svg>";
using (var document = new SVGDocument(documentContent, "."))
{
// Work with the document here...
// Save the document to a file
document.Save(Path.Combine(OutputDir, "from-string.svg"));
}
วิธีเพิ่มองค์ประกอบลงในไฟล์ SVG
Aspose.SVG สำหรับ .NET ช่วยให้คุณสามารถแก้ไขไฟล์ SVG และเปลี่ยนแปลงเนื้อหาได้ Document Object Model (DOM) ของ API ให้การควบคุมโหนด SVG และคุณลักษณะของโหนดได้อย่างสมบูรณ์ และเป็นไปตามข้อกำหนด SVG อย่างเป็นทางการโดยสมบูรณ์
เมื่อสร้างออบเจ็กต์เอกสารแล้ว ก็สามารถเติมองค์ประกอบ SVG ได้ คุณสามารถปรับแต่งเอกสารได้โดยการเพิ่มองค์ประกอบอื่นๆ เช่น รูปร่าง SVG ข้อความ ตัวกรอง ฯลฯ โดยใช้คลาสที่เหมาะสมที่เนมสเปซ Aspose.Svg มอบให้ ตัวอย่างเช่น ต่อไปนี้เป็นวิธีเพิ่มวงกลมและข้อความที่ตกแต่งแล้ว:
รหัส C# เพื่อแก้ไข SVG
using System.IO;
using Aspose.Html;
...
// Set SVG Namespace Url
string SvgNamespace = "http://www.w3.org/2000/svg";
using (var document = new SVGDocument())
{
var svgElement = document.RootElement;
// Create a text element and set its attributes
var textElement = (SVGTextElement)document.CreateElementNS(SvgNamespace, "text");
textElement.Style.FontSize = "2.0em";
textElement.SetAttribute("x", "270px");
textElement.SetAttribute("fill", "darkred");
textElement.SetAttribute("y", "140px");
textElement.TextContent = "I can add elements to SVG!";
// Create a circle element and set its attributes
var circleElement = (SVGCircleElement)document.CreateElementNS(SvgNamespace, "circle");
circleElement.Cx.BaseVal.Value = 130;
circleElement.Cy.BaseVal.Value = 130;
circleElement.R.BaseVal.Value = 60;
circleElement.SetAttribute("stroke", "salmon");
circleElement.SetAttribute("stroke-width", "70");
circleElement.SetAttribute("fill", "none");
circleElement.SetAttribute("stroke-dasharray", "2,14");
// Add the text and circle elements into svgElement
svgElement.AppendChild(textElement);
svgElement.AppendChild(circleElement);
// Save the document
document.Save(Path.Combine(OutputDir, "svg-from-scratch.svg"));
}
มาดูขั้นตอนง่ายๆ ในการแก้ไขเอกสาร SVG ที่แสดงโค้ด С# ด้านบนกัน องค์ประกอบ SVG <circle>
และ <text>
จะถูกเพิ่มลงในเอกสาร SVG ที่สร้างขึ้น:
- หากต้องการสร้างเอกสาร SVG โดยทางโปรแกรมตั้งแต่เริ่มต้น ให้ใช้ตัวสร้าง SVGDocument() โดยไม่มีพารามิเตอร์
- คุณสมบัติ
RootElement
ของคลาส SVGDocument ชี้ไปที่องค์ประกอบรูท<svg>
ของเอกสาร - สร้างองค์ประกอบ
<text>
และ<circle>
พร้อมแอตทริบิวต์ และเพิ่มลงในองค์ประกอบ<svg>
:- คุณสามารถใช้เมธอด CreateElementNS() เพื่อสร้างอินสแตนซ์ของคลาส SVGTextElement และ SVGCircleElement
- เรียกใช้เมธอด SetAttribute() เพื่อตั้งค่าแอตทริบิวต์ที่ระบุตำแหน่ง ขนาด การเติม ฯลฯ
- ใช้เมธอด
AppendChild()
เพื่อเพิ่มองค์ประกอบลงใน
<svg>
- บันทึกไฟล์ SVG ที่แก้ไขแล้วโดยใช้วิธี Save()
ไฟล์ผลลัพธ์ที่เราสร้างไว้ด้านบน (svg-from-scratch.svg) มีลักษณะดังนี้:
แหล่งข้อมูลที่เป็นประโยชน์
- หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.SVG สำหรับ .NET API โปรดไปที่ เอกสารประกอบ ของเรา
- จากบทความ Create SVG, Load and Read SVG in C# คุณจะพบวิธีสร้าง SVG จากไฟล์ สตรีม หรือสตริงหน่วยความจำ วิธีโหลด SVG จากเว็บ และอ่าน SVG ด้วย Resources Async
- บทความเอกสารประกอบ Edit SVG File - C# Examples ให้ข้อมูลพื้นฐานเกี่ยวกับวิธีอ่านหรือแก้ไข Document Object Model โดยใช้ Aspose.SVG สำหรับ .NET API คุณจะได้สำรวจวิธีสร้างองค์ประกอบ SVG และวิธีการทำงานกับองค์ประกอบเหล่านั้น - แก้ไขเอกสารโดยการแทรกโหนดใหม่ การลบ หรือแก้ไขเนื้อหาของโหนดที่มีอยู่ ในบทความมีการพิจารณาตัวอย่างโดยละเอียดของการเพิ่มและแก้ไของค์ประกอบใหม่ใน SVG และการใช้ตัวกรอง SVG กับบิตแมป
- เราขอแนะนำให้คุณไปที่คำแนะนำของเรา SVG Drawing – Basics Tutorial หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับกฎและไวยากรณ์ของ SVG ที่นี่ เราจะอธิบายกฎทั่วไปและขั้นตอนมาตรฐานสำหรับการสร้าง SVG ตั้งแต่เริ่มต้นพร้อมตัวอย่างง่ายๆ
Aspose.SVG ที่รองรับอื่นๆ สำหรับฟีเจอร์ .NET API
ใช้ไลบรารี Aspose.SVG C# เพื่อแปลง ผสาน แก้ไขเอกสาร SVG แปลงรหัสสี ทำภาพเวกเตอร์ และอื่นๆ อีกมากมาย!