C#에서 SVG 만들기

처음부터 SVG를 만드는 방법과 내용을 편집하는 방법을 알아보세요.

C#에서 SVG를 만드는 방법

SVG(Scalable Vector Graphics)는 2차원 벡터 그래픽을 만들기 위한 XML 언어이며, SVG 문서는 이미지를 선, 곡선, 도형, 텍스트 등의 기하학적 기본 요소로 설명하는 텍스트 파일입니다. 웹사이트를 개발한다면 데이터를 생성하세요. 시각화, 인쇄 자료 작업 등 SVG는 그래픽 제작을 위한 다양하고 효율적인 솔루션을 제공합니다. Aspose.SVG for .NET 라이브러리는 SVG 파일을 생성, 편집, 변환 및 기타 조작하기 위한 클래스 및 메서드 세트를 제공합니다. 그럼 새로운 SVG 문서를 만들어 봅시다!


먼저 프로젝트에 Aspose.SVG for .NET API가 설치되어 있는지 확인하세요. 설치 과정은 매우 간단합니다. 다음 명령을 사용하여 NuGet 패키지 관리자 콘솔을 통해 설치할 수 있습니다.


.NET용 Aspose.SVG 설치

Install-Package Aspose.SVG



빈 SVG 문서 만들기

.NET API용 Aspose.SVG는 SVG 문서를 생성하는 데 사용할 수 있는 SVGDocument 클래스를 제공합니다. SVGDocument는 SVG 계층 구조의 루트이며 전체 콘텐츠를 보유합니다. 다음 C# 코드 조각은 기본 SVGDocument() 생성자를 사용하여 빈 문서를 만드는 방법을 보여줍니다.

  1. SVGDocument() 생성자를 사용하여 처음부터 SVG 문서를 만듭니다.
  2. Save() 메서드 중 하나를 사용하여 SVG 파일을 저장합니다.

빈 SVG 문서를 생성하는 C# 코드

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를 생성하면 시각화에서 변화하는 데이터 세트를 쉽게 업데이트하고 표현할 수 있습니다. SVGDocument(string, string) 생성자를 사용하여 문자열 콘텐츠에서 SVG를 생성할 수 있습니다.


문자열에서 SVG를 생성하는 C# 코드

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 파일에 요소를 추가하는 방법

.NET용 Aspose.SVG를 사용하면 SVG 파일을 편집하고 내용을 변경할 수 있습니다. API의 DOM(문서 개체 모델)은 SVG 노드와 해당 속성에 대한 완벽한 제어를 제공하며 공식 SVG 사양을 완벽하게 준수합니다.

문서 개체가 생성되면 SVG 요소로 채울 수 있습니다. Aspose.Svg 네임스페이스에서 제공하는 적절한 클래스를 사용하여 SVG 모양, 텍스트, 필터 등과 같은 요소를 더 추가하여 문서를 사용자 정의할 수 있습니다. 예를 들어 장식된 원과 텍스트를 추가하는 방법은 다음과 같습니다.


SVG를 편집하는 C# 코드

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 문서에 SVG <circle><text> 요소가 추가됩니다.

  1. 처음부터 프로그래밍 방식으로 SVG 문서를 생성하려면 매개 변수 없이 SVGDocument() 생성자를 사용합니다.
  2. SVGDocument 클래스의 RootElement 속성은 문서의 루트 <svg> 요소를 가리킵니다.
  3. 속성이 포함된 <text><circle> 요소를 생성하고 이를 <svg> 요소에 추가합니다.
    • CreateElementNS() 메서드를 사용하여 SVGTextElement 및 SVGCircleElement 클래스의 인스턴스를 생성할 수 있습니다.
    • SetAttribute() 메서드를 호출하여 위치, 크기, 채우기 등을 지정하는 속성을 설정합니다.
    • AppendChild() 메서드를 사용하여 <svg>에 요소를 추가합니다.
  4. Save() 메소드를 사용하여 편집된 SVG 파일을 저장합니다.

위에서 만든 결과 파일(svg-from-scratch.svg)은 다음과 같습니다.

텍스트 “원과 텍스트가 포함된 SVG 이미지”



유용한 자료

  • .NET API용 Aspose.SVG에 대해 자세히 알아보려면 문서 를 방문하세요.
  • Create SVG, Load and Read SVG in C# 기사에서 파일, 스트림 또는 메모리 문자열에서 SVG를 생성하는 방법을 알아봅니다. 웹에서 SVG를 로드하고 Resources Async를 사용하여 SVG를 읽는 방법.
  • Edit SVG File - C# Examples 문서 문서에서는 .NET API용 Aspose.SVG를 사용하여 문서 개체 모델을 읽거나 편집하는 방법에 대한 기본 정보를 제공합니다. SVG 요소를 생성하는 방법과 이를 사용하여 작업하는 방법을 살펴보겠습니다. 즉, 새 노드를 삽입하고 기존 노드의 내용을 제거 또는 편집하여 문서를 수정합니다. 기사에서는 SVG의 새 요소를 추가 및 편집하고 비트맵에 SVG 필터를 적용하는 자세한 예를 고려합니다.
  • SVG 규칙 및 구문에 대해 자세히 알아보려면 가이드 SVG Drawing – Basics Tutorial 을 방문하는 것이 좋습니다. 여기에서는 간단한 예를 들어 처음부터 SVG를 만드는 일반적인 규칙과 표준 단계를 설명합니다.



.NET API 기능에 대해 지원되는 기타 Aspose.SVG

Aspose.SVG C# 라이브러리를 사용하여 SVG 문서 변환, 병합, 편집, 색상 코드 변환, 이미지 벡터화 등을 수행하세요!