1

LinearGradientBrush を停止して、描画している形状に沿って繰り返す方法を見つけようとしています。たとえば、高さ 50 のグラデーションを作成しましたが、次に高さ 150 の長方形を描画します。この場合、グラデーションは 3 回繰り返されます。しかし、最初のグラデーションのみを描画し、残りの長方形には何も描画したくありません。WPF の GradientBrush はこの目的で SpreadMethod( http://msdn.microsoft.com/en-us/library/system.windows.media.gradientbrush.spreadmethod.aspx ) をサポートしているようですが、WinForms にも何か存在しますか?

4

1 に答える 1

2

ポール、最も簡単な方法は、同じ方法で塗りつぶしを作成することだと思いますが、50 ピクセルの四角形のみを使用して描画します。他の 100 ピクセルを特定の色で塗りつぶす必要がある場合は、最初にその色で塗りつぶします。

別の方法として、グラデーション塗りつぶし (LinearGradientbrush::SetBlend) でブレンドを設定することもできますが、同じ効果を得るにはかなりの労力がかかるようです。

于 2010-11-16T23:47:37.757 に答える