2009-10-04 5 views
2

Windows API 및 GDI +를 사용하여 Windows 용 SVG 렌더러를 만들고 있습니다. SVG는 경로의 '채우기'및 '획'스타일 속성을 설정할 수 있습니다. 나는 '채우기'속성의 구현에 약간의 어려움을 겪고 있습니다.GDI +를 사용하여 채우기 색으로 (베 지어) 경로를 그리는 방법은 무엇입니까?

<svg:path style="fill:yellow;stroke:blue;stroke-width:2" 
       d="M153 334 
       C153 334 151 334 151 334 
       C151 339 153 344 156 344 
       C164 344 171 339 171 334 
       C171 322 164 314 156 314 
       C142 314 131 322 131 334 
       C131 350 142 364 156 364 
       C175 364 191 350 191 334 
       C191 311 175 294 156 294 
       C131 294 111 311 111 334 
       C111 361 131 384 156 384 
       C186 384 211 361 211 334 
       C211 300 186 274 156 274" /> 

채우기 색상은 노란색이며, 전체 모양을 작성해야합니다, 이것이 내가 무엇을 얻을 그러나입니다 :

다음 경로가 나선형을 나타내는 enter image description here

내 GDI

+ 전화 번호는 다음과 같습니다.

Gdiplus::GraphicsPath bezierPath; 
bezierPath.AddBeziers(&gdiplusPoints[0], gdiplusPoints.size()); 
g.FillPath(&solidBrush, &bezierPath); 
g.DrawPath(&pen, &bezierPath); 

Appa rently 코드는 도형 그리기에는 적합하지만 채우기에는 적합하지 않습니다. 누가 잘못 됐는지 알아낼 수 있습니까?

답변

4

GraphicsPath의 FillMode 속성을 FillMode :: Winding으로 설정하십시오. 사용자의 요구에 맞는 대체 작성 방법입니다.

+0

나는 방금 자신을 발견했다. 전형적인 : S 고마워! – StackedCrooked

관련 문제