停止 LinearGradientBrush 重复

Posted

技术标签:

【中文标题】停止 LinearGradientBrush 重复【英文标题】:Stop LinearGradientBrush repeating 【发布时间】:2009-09-12 18:48:48 【问题描述】:

我试图弄清楚如何阻止 LinearGradientBrush 与我正在绘制的形状一起重复。因此,例如,我创建了高度等于 50 的渐变,但接下来我绘制了高度等于 150 的矩形。在这种情况下,渐变将重复三次。但我只想画第一个渐变,其余的矩形什么也不画。 似乎 WPF 中的 GradientBrush 支持 SpreadMethod(http://msdn.microsoft.com/en-us/library/system.windows.media.gradientbrush.spreadmethod.aspx) 用于此目的,但 WinForms 也存在一些东西吗?

【问题讨论】:

【参考方案1】:

Paul,我认为最简单的方法可能是以相同的方式创建填充,但只能使用 50 像素的矩形进行绘制。如果您需要使用特定颜色填充其他 100 个像素,请先使用该颜色进行纯色填充。

或者,您可以尝试在渐变填充中设置混合 (LinearGradientbrush::SetBlend),但这似乎需要付出很多努力才能达到相同的效果。

【讨论】:

以上是关于停止 LinearGradientBrush 重复的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WPF 中绘制“软”线(可能使用 LinearGradientBrush)?

将LinearGradientBrush的不透明度应用于winforms中的图像

如何在 C# WPF(运行时)中将 Dependency Property propertymetadata 设置为 LinearGradientBrush?

WPF实现一个彩虹按钮

渐变色

停止 UIView 动画 [重复]