如何在C#中创建光泽按钮?

发布于 2024-11-17 07:16:11 字数 1435 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

今天小雨转甜 2024-11-24 07:16:11

Chris Jackson,微软Appcompat Guy,为.NET(即C# 和GDI+)编写了该程序。

 

在此处输入图像描述
Windows 窗体凝胶按钮:第一次修订

 

在此处输入图像描述
Windows 窗体凝胶按钮:第二次修订

 

在此处输入图像描述
Windows 窗体凝胶按钮 - 第三次修订版

所有代码都在那里,并仔细考虑了

  • 的缩放
  • 高 dpi性能和位图缓存

Chris Jackson, Microsoft Appcompat Guy, wrote that for .NET (i.e. C# and GDI+).

 

enter image description here
Windows Forms Gel Buttons : First Revision

 

enter image description here
Windows Forms Gel Buttons : Second Revision

 

enter image description here
Windows Forms Gel Buttons - Third Revision

All the code is there, along with careful consideration of

  • scaling with high dpi
  • performance and bitmap caching
抹茶夏天i‖ 2024-11-24 07:16:11

示例

本文演示了如何使用 WindowsVistaRenderer 以及它是如何创建的...

我在按钮绘图上发现了不同的图层...

按钮的北边绘制了光泽效果。绿色代表几乎透明的颜色......

现在,我们绘制这些图层的顺序至关重要。该顺序是:

  1. 外边框
  2. 按钮背景颜色(如果选中按钮)
  3. 光泽效果
  4. 边框
  5. 按钮填充光泽强调
  6. 内边框
  7. 发光
  8. 按钮的文本和图像...

Example here:

This article demonstrates how to use the WindowsVistaRenderer and how it was created...

I've found different layers on the button drawing...

A glossy effect is drawn on the north of the button. The green color represents an almost transparent color...

Now, the order in which we draw these layers is critical. That order is:

  1. Outer border
  2. Button background color (if button is checked)
  3. Glossy effect
  4. Border
  5. Button fill glossy emphasis
  6. Inner border
  7. Glow
  8. Text and image of the button...
棒棒糖 2024-11-24 07:16:11

在 Silverlight 中,使用画笔在 Xaml 中创建此按钮非常简单。
请参阅此链接以获取一些好的示例: 在 WPF 中使用径向渐变画笔的光泽画笔

您还可以使用 Microsoft Expression Design 创建这些按钮或直接从 Adobe 导入IllustratorAdobe Photoshop,然后将它们导出到 Xaml。

In Silverlight it's very simple to create this buttons in Xaml with brushes.
See this link for some good samples: Glossy Brushes using Radial Gradient Brush in WPF

You can also use Microsoft Expression Design to create these buttons or simply import from Adobe Illustrator or Adobe Photoshop and then export them to Xaml.

红衣飘飘貌似仙 2024-11-24 07:16:11

您还可以查看这篇 CodeProject 文章,一个很好的教程展示了如何在表达式混合中制作一些光滑的圆形按钮: Silverlight 中的玻璃球按钮

此外,代码项目中还有许多与使用 GDI+ 或表达式混合制作的玻璃按钮和光泽效果相关的项目。

You can also check this CodeProject article, a nice tutorial shows how to make some glossy circular buttons in expression blend: Glass Orb Button in Silverlight

Also there are lots of projects related to glass buttons and glossy effects made using GDI+ or expression blend in codeproject.

南七夏 2024-11-24 07:16:11

您还可以使用表达式混合。

You can also use Expression Blend.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文