2011-01-19 2 views
1

은 내가 AA 사각형의 하단 왼쪽 부분 (즉, 삼각형)을 채우려 :GDI + : 삼각형을 채우는 방법? <img src="https://i.stack.imgur.com/B2WJj.png" alt="alt text"></p> <p>반 사각형을 작성 : 투명한 컬러에서 진행하는이 LinearGradient으로</p> <p><img src="https://i.stack.imgur.com/MEkCJ.png" alt="alt text"></p> <p>:

alt text

나는 점 (x, y), 및 사각형의 크기를 알고있다. 나는 LinearGradientBrush를 사용하려고하면

, 내 선형 그라데이션을 수행 할 수

brush = new LinearGradientBrush(
     MakePoint(0, y), //bottom left corner 
     MakePoint(x, 0), //upper right corner 
     MakeColor(255, c), //fully opaque color 
     MakeColor(0, c)); //fully transparent color 
graphics.FillRectangle(brush, MakeRect(0, 0, w, h)); 

선형 그라데이션 브러시가 마지막으로 사각형의 나머지 부분을 채우기 위해 계속하면 잘 될 것입니다 전체 사각형을 채운다 (투명) 색상; 대신 그것을 감싸는 :

alt text

나는 나의 LinearGradientBrush 내가 좋아하는 방법, 난 그냥 FillTriangle 또는 FillPolygon보다는 FillRectangle하려는 있습니다. FillTriangle 또는 FillPolygon은없고 FillRectangle 및 FillEllipse 만 있습니다.

는 FillPolygon는 그래픽 라이브러리에 있습니다 또한

link text

+1

어떤 버전의 .NET을 사용하고 있습니까? 필자는 그래픽 객체 내에서 FillPolygon 메서드를 확실히 보았습니다. http://msdn.microsoft.com/en-us/library/89sks199.aspx –

+0

당신이 무엇을 알기에 * 하나 * 있습니다. 나는'FillRectangle'과'FillEllipse' 만 찾을 수 있다고 맹세했다. (http://msdn.microsoft.com/en-us/library/ms535958(v=VS.85).aspx) .NET을 사용하지는 않지만 GDI +입니다. 대답으로 받아들이겠다. –

+0

+1 나는 똑같은 질문을했는데, 나는 이것을 Google에서 발견했다. 그래서 +1, 우리 바보 같이 붙어 야합니다! – MarkJ

답변

2

참조하십시오. 나는 이것을 다음과 같이 할 수 있어야한다고 생각한다 :

brush = new LinearGradientBrush(
     MakePoint(x, y), 
     MakePoint(0, h), 
     MakeColor(255, c), //fully opaque color 
     MakeColor(0, c)); //fully transparent color 

graphics.FillPolygon(brush, new PointF[] { 
     new PointF(0, 0), 
     new PointF(0, h), 
     new PointF(w, h) 
    }); 
+1

비록 내가 바보 일지라도,'FillTriangle'은'FillPolygon '으로 구현 될 수 있기 때문에,이 질문은 여전히 ​​도움이 될 수 있다고 생각합니다. 그리고 아마 .NET 용 구문 일지라도 GDI +로 쉽게 변환 할 수 있습니다. –

관련 문제

 관련 문제