2008-09-15 14 views
0

曲線の方向に垂直な方向に変化する勾配を持つ曲線のパスに沿って線を描く方法はありますか?グラフィックスにはGDI +フレームワークを使用しています。勾配付きポリライン

答えて

1

簡単な回答はありません。描画するオブジェクトの複雑なパスを記述するために、必要に応じてAddPoint/AddLine/AddBezierなどを使用して、描画したいものを記述するためにGraphicsPathを作成できます。パスを描画するときには、LinearGradientBrushやRadialGradientBrushのようなものを提供することができます。これらの勾配ブラシのどちらも、描画が行われるにつれて方向が変わるという意味で描画される実際のパスに反応しません。グラデーション領域全体に対して、等角度を定数として指定する必要があります。

0

可能な方法の1つは、Graphicsオブジェクトのクリップ領域を線の領域にのみ設定することです。次に線の両端に線形勾配を描きます。

GraphicsPath gp = new GraphicsPath(); 

gp.AddArc(); // etc... 

graphics.SetClip(gp); 

graphics.FillRectangle(myLinearGradientBrush, gp.GetBounds()); 

上記のコードは、お探しのものが表示される場合があります。