2013-05-27 2 views
1

는 HTML5 캔버스 경로에 GDI + GraphicsPath을 변환하는 데 유용한 라이브러리가 있습니까? 아니면 수동 (그래서 어떤 힌트를 공유하시기 바랍니다 경우) HTML5 코드를 해당 방출하는 모든 GraphicsPath.PathPointsGraphicsPath.PathTypes를 통해 실행해야합니까?GDI + GraphicsPath를 HTML5 캔버스 경로로 변환하는 방법?

+0

그것이 내가 원시 GraphicsPath.Add() 메소드 코드 또는 PathPoints + PathTypes 중 하나를 입력 작은 파서를 구축 할 작은 일 오프 프로젝트가 아니라면. GDI를 사용한 지 꽤 오래되었지만, addPie와 addText는 몇 가지 "비 html-canvas"gdi 경로 메소드라는 것을 기억합니다. 상당히 간단합니다. – markE

+0

@markE 아마도 하나의 프로젝트 일 것입니다. 그러나 일부 경로는 매우 복잡하고 (텍스트로 생성 된) 수천 개의 커브를 포함합니다. 당신이 "텍스트에서 만든"말 – SiliconMind

+0

, 당신은 의미합니까 .AddString() 또는 당신은 .AddCurve의 무리()를 사용하여 사람이 만든 텍스트와 같은 경로를 의미합니까? BTW, 당신은 PathPoints + PathTypes 데이터를 쳐다 보거나 경로를 생성 한 코드로 시작하고 있습니까? – markE

답변

1

불행하게도, 난 아무것도 유용을 찾을 수 없습니다. 어떤 사람들은 SVG를 GDI에서 Canvas로 "전송"하는 방법으로 제안했지만 .NET 용 SVG 라이브러리를 찾을 수 없었습니다. GraphicsPath의 데이터가 저장되는 방식을 이해하는 데 꽤 시간이 걸렸습니다. 생각한 것처럼 간단하지 않기 때문입니다. This is what I've came up to.

GraphicsPath가 실제로 어떻게 작동하는지 알면 HTML5 함수 묶음을 사용하여 다시 만들 수있었습니다 : .moveTo(),및 .bezierCurveTo(). 원본 GraphicsPath가 멋진 글꼴로 작성된 긴 텍스트를 나타내는 경우 최종 문자열 작성에 다소 시간이 걸리지 만 결과 JS 파일에 수십 만 줄의 코드가 포함되는 경우가 있습니다. 놀랍게도 Firefox는 문제없이 문제를 처리합니다.

는만큼 당신이 읽고 my answer from another SO question을 이해 특별한 아무것도 없기 때문에 내가 사용하고 코드를 붙여되지 않습니다.

관련 문제