PNG를 SVG로 변환 C#

PNG 이미지를 SVG 형식으로 변환하는 것은 웹 디자인, 디지털 아트워크 및 픽셀화 없이 고품질 이미지를 요구하는 소프트웨어 애플리케이션에서 확장 가능한 벡터 그래픽을 다룰 때 중요한 작업입니다. PNG 이미지는 래스터 기반으로, 픽셀로 구성되어 있으며 크기를 조정할 때 품질이 저하될 수 있습니다. 반면 SVG(확장 가능한 벡터 그래픽)은 모든 해상도에서 이미지 품질을 유지하는 벡터 형식입니다.

PNG to SVG 변환기 - C# API 설치

PNG 이미지를 SVG 이미지로 변환하려면, New Releases 섹션에서 .NET용 Conholdate.Total을 설치하거나 다음 NuGet 설치 명령을 실행해야 합니다:

Install-Package Conholdate.Total 

왜 PNG를 SVG로 변환해야 할까요?

PNG 이미지를 SVG 형식으로 변환하는 여러 가지 설득력 있는 이유가 있습니다:

  • 품질 손실 없는 확장성: 크기가 조정될 때 품질이 저하되는 PNG 이미지와 달리, SVG 파일은 어떤 해상도에서도 또렷하고 선명하게 유지됩니다. 이는 반응형 웹 디자인 및 고 DPI 디스플레이에 특히 유용합니다.

  • 특정 그래픽에 대한 더 작은 파일 크기: SVG 파일은 아이콘, 로고 및 간단한 일러스트레이션을 다룰 때 일반적으로 PNG보다 작아 성능 최적화가 중요한 웹 사용에 이상적입니다.

  • 편집 가능하고 사용자 정의 가능: SVG 이미지는 텍스트 기반 편집기나 Adobe Illustrator, Inkscape와 같은 벡터 그래픽 도구를 사용하여 쉽게 편집할 수 있습니다. 이로 인해 웹 애플리케이션에서 동적으로 생성된 그래픽에 적합합니다.

  • 웹 애플리케이션에서 더 나은 성능: SVG 이미지는 XML을 기반으로 하므로 CSS 및 JavaScript를 통해 조작할 수 있어 새로운 이미지 파일을 요구하지 않고도 동적 변경이 가능합니다.

C#에서 PNG를 SVG로 변환하기

PNG 이미지를 SVG 형식으로 변환하기 위해 C#에서 Conholdate.Total for .NET을 사용할 것입니다. 이것은 래스터 이미지를 확장 가능한 벡터 그래픽으로 원활하게 변환할 수 있는 강력한 이미지 벡터화 기능을 제공합니다.

  • 이미지 벡터라이저 초기화: 이미지 벡터라이저 클래스는 PNG에서 SVG로 변환을 처리하기 위해 초기화됩니다.

  • 설정 구성 매개변수:

    • PathBuilder 속성은 벡터 경로 구조를 결정하는 BezierPathBuilder에 할당됩니다.

    • TraceSmoother는 노이즈를 줄이고 더 깔끔한 벡터 출력을 위해 트레이스를 강화하는 데 도움을 줍니다.

    • The ErrorThreshold and MaxIterations values control the accuracy of the vectorization process.

    • The ColorsLimit는 벡터화된 출력에서 색상의 수를 설정하여 복잡성을 줄입니다.

    • LineWidth는 벡터화 경로의 두께를 정의합니다.

  • PNG 벡터화: Vectorize 방법은 비트맵 이미지를 처리하고 벡터 표현을 생성합니다.

  • 출력 저장: Save 메서드는 최종 SVG 파일을 디스크에 기록합니다.

다음 코드 스니펫은 C#에서 PNG를 SVG로 변환하는 방법을 보여줍니다:

// ImageVectorizer 클래스의 인스턴스를 초기화합니다.
var vectorizer = new Aspose.Svg.ImageVectorization.ImageVectorizer
{
    // 설정 구성
    Configuration =
    {
        // Set path builder
        PathBuilder = new Aspose.Svg.ImageVectorization.BezierPathBuilder {
            // Set trace smoother
            TraceSmoother = new Aspose.Svg.ImageVectorization.ImageTraceSmoother(1),
            ErrorThreshold =  30,
            MaxIterations = 30
        },
        ColorsLimit = 25,
        LineWidth = 1
    }
};

// PNG를 벡터화하다
using var document = vectorizer.Vectorize("source.png");

// 벡터화된 PNG를 SVG 파일로 저장하십시오. 
document.Save("source_out.svg");

무료 평가 라이센스

You can get a free temporary license to test different features offered by the API without any evaluation limitations.

정리하자면

C#에서 PNG 이미지를 SVG 형식으로 변환하는 것은 확장 가능하고 고품질의 벡터 그래픽을 달성하기 위한 필수 기술입니다. Conholdate.Total for .NET을 사용하면 개발자는 높은 정확도와 최소한의 노력으로 이 변환을 효율적으로 수행할 수 있습니다. 웹 애플리케이션, 디지털 아트워크 또는 인쇄 그래픽 작업을 하고 있든, 이 접근 방식은 최적의 이미지 품질과 유연성을 보장합니다. 그러나 귀하의 애매한 점에 대해 논의할 필요가 있는 경우, forum으로 저희에게 연락해 주시기 바랍니다.

See Also