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

时间:2011-06-25 17:02:06

标签: c# .net silverlight graphics gdi+

我想用GDI +或Silverlight用C#创建光泽按钮,任何想法或技巧如何创建光泽按钮?有点像下面的图片:

我对GDI +解决方案更感兴趣。

http://i.stack.imgur.com/ZguQG.jpg

6 个答案:

答案 0 :(得分:14)

Chris Appcompat Guy的Chris Jackson写道,对于.NET(即C#和GDI +)。

enter image description here
Windows窗体凝胶按钮:第一次修订

enter image description here
Windows窗体凝胶按钮:第二次修订

enter image description here
Windows窗体凝胶按钮 - 第三次修订

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

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

答案 1 :(得分:12)

Example here

  

本文演示了如何使用WindowsVistaRenderer及其创建方式......

     

我在按钮图上找到了不同的图层......

     

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

     

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

     
      
  1. 外边框
  2.   
  3. 按钮背景颜色(如果选中了按钮)
  4.   
  5. 光泽效果
  6.   
  7. 边界
  8.   
  9. 按钮填充光泽强调
  10.   
  11. 内部边界
  12.   
  13. 辉光
  14.   
  15. 按钮的文字和图像......
  16.   

答案 2 :(得分:3)

在Silverlight中,使用画笔在Xaml中创建这个按钮非常简单 请参阅此链接以获取一些好样本:Glossy Brushes using Radial Gradient Brush in WPF

您还可以使用 Microsoft Expression Design 创建这些按钮,或者只是从 Adob​​e Illustrator Adob​​e Photoshop 导入,然后将它们导出到Xaml

答案 3 :(得分:2)

您可以使用本文中的按钮:Enhanced GlassButton using GDI+

答案 4 :(得分:1)

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

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

答案 5 :(得分:0)

您也可以使用Expression Blend。