Development Tip

.NET / C #에서 SVG 그리기?

yourdevel 2020. 11. 18. 21:34
반응형

.NET / C #에서 SVG 그리기?


C #을 사용하여 SVG 파일을 생성하고 싶습니다. 이미 프레임 워크의 표준 클래스 인 System.Drawing.Imaging.MetafileZedGraph 사용하여 PNG 및 EMF 형식으로 그리는 코드가 있습니다 . 이 코드를 SVG에 적용하기 위해 무엇을 권장 할 수 있습니까? 바람직하게는 System.Drawing.Graphics 인터페이스를 모방하는 라이브러리 (무료이든 아니든)를 찾고 싶습니다 .


C #SVG 프레임 워크와 SVG-GDI + 브리지 프로젝트를 확인하세요.

위의 웹 페이지에서 ...

SvgGdi 브리지는 SvgNet을 사용하여 SVG와 GDI +간에 변환하는 클래스 집합입니다. 이것이 의미하는 바는 GDI +를 사용하여 그래픽을 그리는 모든 코드가 SvgGraphics 개체를 연결하기 만하면 SVG도 쉽게 출력 할 수 있다는 것입니다. 이 개체는 일반 .NET Graphics 개체와 정확히 동일하지만 SVG 트리를 만듭니다. 해치 채우기 및 라인 앵커와 같은 것조차 구현됩니다.


github에서 C # .NET SVG 라이브러리의 공개 포크를 만들었습니다.

codeplex에서 찾은 것보다 훨씬 개선되었습니다. 원하는대로 살펴보고 포크하십시오.

https://github.com/vvvv/SVG

편집 : 2019 년 6 월 현재 :

다른 사람들은 수년 동안 죽은 것처럼 보이지만 여전히 활성화되어 있습니다. 그러나 우리는 다른 개발자의 도움을 확실히 사용할 수 있습니다.


나는 이것을 http://svg.codeplex.com/ 사용 했고 꽤 만족합니다. 여전히 몇 가지 버그가 있으므로 http://svg.codeplex.com/SourceControl/PatchList.aspx 의 패치를 살펴 봐야합니다 .

실수를 발견하면 바로 해결할 수 있습니다. 그러나 그곳의 사람들이 평가하는 데는 시간이 걸립니다. 패치를 살펴보고 직접 적용하는 것이 좋습니다.

라이브러리는 대부분의 일반적인 요구에 합리적으로 충분합니다. 정말 멋진 것들은 생각을 개선해야합니다 ...


SVG는 기본적으로 XML 문서이므로 직접 "그리기"를 구현할 수 있습니다. W3C SVG 사양에서 사양을 확인하세요 . SVG 서명 이미지를 생성하기 위해 한 번 수행했는데 생성 된 이미지를 테스트하는 데 몇 시간과 파이어 폭스 만 있으면되었습니다.

물론 이것은 사용자 입력에서 이미지를 생성하거나 다른 벡터 이미지 형식에서 변환하는 데 시간을 할애하지 않는 경우에 적용됩니다.

추신 : System.Drawing.Graphics를 모방하는 자체 래퍼를 만들 수 있습니다. 예를 들어 DrawLine ()을 내부 버퍼에 추가 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/1525421/drawing-svg-in-net-c

반응형