2011-01-19 11 views
1

iは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

iが点(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

私はちょうどむしろFillRectangleより、FillTriangleまたはFillPolygonにしたい私のLinearGradientBrushどのように私は好きで、持っています。 FillTriangleまたはFillPolygonはありません.FillRectangleおよびFillEllipseのみがあります。

はFillPolygonは、グラフィックスライブラリであり

link text

+1

どのバージョンの.NETを使用していますか?私はグラフィックスオブジェクト内にFillPolygonメソッドがあることを確かめています。 http://msdn.microsoft.com/en-us/library/89sks199.aspx –

+0

あなたは何を知っていますか、*は* 1です。私は '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 +に変換できる。 –

関連する問題

 関連する問題