我想修改我使用的一些用户控件,并认为一些有吸引力的填充应该完成这项工作(也许是其中的一部分)。就像填充iPhone按钮或Office 2007功能区栏的背景一样(也许你还知道更多)。
修改 为了清理,我不需要简单的渐变填充 - 有一个Windows API调用。我对如何实现整个效果更感兴趣。这是一个link to an article,它展示了如何在PhotoShop中完成它,但我希望在代码中实现它。
具体而言,顶部的光泽渐变以大致位于按钮中间的曲线结束。我一半期望这需要单独渲染并以某种方式混合。
有什么想法吗?
答案 0 :(得分:4)
“玻璃”效果只需通过创建一个大于高4倍的白色椭圆,将其放在图像上进行“玻璃化”,使底部弧线在图像上居中,然后进行Alpha混合。我相信这个示例delphi code将有助于执行最后一部分。
答案 1 :(得分:3)
你在谈论渐变填充。您可以开始使用一些代码示例here - 在该页面中搜索“渐变”以查找相关部分。
答案 2 :(得分:2)
您可以尝试http://www.tmssoftware.com/site/advsmoothbutton.asp。据我所知,这个控件包含在带有D2009的免费Smooth Controls包中。对于其他Delphi版本,您可以购买TAdvSmoothButton控件本身或作为控件包的一部分。
答案 3 :(得分:1)
最简单的方法可能是根据按钮大小组合图像。创建一个基本图像,并在其上面调整一些图层的大小,而不是尝试以程序方式生成复杂的渐变。