2017-02-28 7 views
0

나는이 질문으로 많은 게시물을 읽었습니다. vb.net의 Visual Studio에서 응용 프로그램을 개발하려고하는데 사용자가 대화 상자를 열고 응용 프로그램 내에서 표시 할 수있는 SVG 파일을 선택하게하고 싶습니다. vb.net에서 svg 파일 표시

나는 인터넷에 솔루션을 많이 보았지만이 내가 온라인보고 모든 솔루션과 함께 몇 가지 일반적인 문제입니다 - 아무도 2010 년 이후 표시 SVGs에 어떤 문제가 없었다과 같은
  1. 이 보이는 대부분의 해결책 그때까지 Adobe SVG 뷰어 설치가 포함되어 있습니다. Adobe SVG 뷰어는 현재 Adobe에서 제공하지 않습니다.
  2. 대부분의 사람들은 코드 내에 SVG를 만들고 그 간단한 SVG를 표시합니다. 나는 SVG가 어떤 것인지 전혀 모르기 때문에 그것을 원하지 않는다. 내가 원하는 것은 사용자가 SVG를 실시간으로 선택하여 표시하는 것입니다.

나는 picturebox와 webbrowser 컨트롤에서 모두 작동하도록 만들었지 만 그 중 어떤 것도 중요하지 않습니다.

또한 Visual Basic에서 C#이 아닌 코드를 제발 줄 수 있으면 좋겠다. 그러나 C#에서 관련 코드를 찾으면 코드를 변환하려고 시도 할 수 있으므로 링크해야합니다.

열려있는 대화 상자와 모든 것에 대해 걱정하지 마십시오. svg의 전체 주소가 한 곳에서 쓰여지고 거기에서 가져갈 수있는 svg를 엽니 다.

+0

시도 [이 (http://stackoverflow.com/questions/12585430/can-the-picturebox-be-used-to-display-vector-based-images)? –

+0

@iProgramIt 그래, 그랬어. 그가 작성한 코드는 .svg 파일이 아닌 .wmf 파일에서 작동합니다. 나는 .svg 파일을 위해 작동하는 것을 원한다. 또는 .svg를 .wmf로 변환 할 수있는 무언가 일 수도 있습니다. 이 중 하나가 나를 위해 작동합니다. –

+0

그럼 웹 브라우저 컨트롤을 svg 파일로 이동하는 것만 큼 좋을까요? 나는 IE가 그것을 할 수 있다는 것을 알고 있으며, 웹 브라우저 컨트롤이 IE 렌더링 엔진을 사용한다는 것을 알고있다. –

답변

2

웹 브라우저 컨트롤에서 SVG 파일을로드하는 것은 꽤 간단합니다. DocumentText 속성을 통해 이렇게 할 수 있습니다.

Public Class Form1 

    Public Sub New() 
     Dim text As String = System.IO.File.ReadAllText("svg.svg") 
     InitializeComponent() 
     WebBrowser1.DocumentText = text 
    End Sub 

End Class 
+0

시도해보십시오. 아직 논리적으로 작동하지 않는 이유를 모르겠다. 웹 브라우저 컨트롤이 실제로 아무것도 표시하지 않는다는 의미입니다. 빈 흰색입니다. 동일한 svg 내가 IE에서 열었고 잘 열었습니다. 그러나 웹 브라우저 제어를 위해 일하지 않습니다. 내가 누락 된 확장 기능이나 그와 유사한 기능? 디버깅 기술을 추가하여 파일을 잘 읽었습니다. 문제는 디스플레이 –

+0

추가 디버깅입니다. 코드가 InitializeComponent()에 무한정 달라 붙어 있거나 너무 오래 걸립니다. 어느 쪽이든 그것은 붙어있어 따라서 다음 줄에 도달하지 않습니다. InitializeComponent() 부분을 제거하면 코드 끝 부분에 도달했지만 여전히 아무것도 표시되지 않았습니다. InitializeComponent()의 중요성은 무엇이며 내 코드는 왜 그 안에 갇혀 있습니까? –

+0

초기화 구성 요소는 winforms 디자이너에서 생성 한 파일에 사용됩니다. http://stackoverflow.com/questions/12297079/very-simple-definition-of-initializecomponent-method –