C# GDI 和 winforms 中的径向渐变画笔效果
我已经创建了 c# windows 应用程序并编写了 75% 的代码。该程序允许用户创建流程图,并根据其状态对流程图形状进行着色。我希望它们成为 3d 按钮,例如网站 .org/photoshop/drawing-techniques/gel-button.13626.html" rel="noreferrer">Webdesign.org
我不想为每个按钮创建一个 PNG,而是想使用画笔或其他工具在 C# 中创建它们技术,例如:
// Create solid brush.
SolidBrush blueBrush = new SolidBrush(Color.Blue);
// Create points that define polygon.
PointF point1 = new PointF(50.0F, 50.0F);
PointF point2 = new PointF(100.0F, 25.0F);
PointF point3 = new PointF(200.0F, 5.0F);
PointF point4 = new PointF(250.0F, 50.0F);
PointF point5 = new PointF(300.0F, 100.0F);
PointF point6 = new PointF(350.0F, 200.0F);
PointF point7 = new PointF(250.0F, 250.0F);
PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};
// Define fill mode.
FillMode newFillMode = FillMode.Winding;
// Fill polygon to screen.
e.Graphics.FillPolygon(blueBrush, curvePoints, newFillMode);
我知道 WPF 有径向渐变,但我可以在 CGI 中做一些类似的事情吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
与 WPF 不同,GDI+/WinForms 没有一个RadialGradientBrush。但是,您可以使用
PathGradientBrush 实现相同的效果
。下面是一个示例:
PathGradientBrush
有许多属性可供试验,以确保您获得所需的效果。Unlike WPF, GDI+/WinForms does not have a
RadialGradientBrush
. However you can achieve the same effect using aPathGradientBrush
.Here's an example:
The
PathGradientBrush
has lots of properties to experiment with to ensure you get the effect you're after.请查看这篇 Codeproject 文章,然后查看“路径渐变”。
Take a look at this Codeproject article, and then at the Path gradient.