2

我想美化我使用的一些用户控件,并认为一些有吸引力的填充应该可以完成这项工作(也许是其中的一部分)。就像填充 iPhone 按钮的背景或 Office 2007 的功能区栏(也许你知道更多)。

编辑: 为了搞清楚,我不需要简单的渐变填充——有一个 Windows API 调用。我更感兴趣的是整个效果是如何实现的。这是一篇文章的链接,该链接展示了如何在 PhotoShop 中执行此操作,但我想在代码中完成此操作。

具体来说,顶部的光泽渐变大致在按钮中间的曲线中结束。我有一半希望这需要单独渲染并以某种方式混合。

有任何想法吗?

4

4 回答 4

4

“玻璃”效果只需创建一个比高大 4 倍的白色椭圆,将其放置在要“玻璃化”的图像上,使底部弧线以图像为中心,然后进行 alpha 混合。我相信这个示例delphi 代码将对执行最后一部分有所帮助。

于 2009-10-08T22:41:14.113 回答
3

你在谈论渐变填充。您可以从这里获取一些代码示例- 在该页面中搜索“渐变”以找到相关部分。

于 2009-10-08T19:19:17.090 回答
2

您可以尝试http://www.tmssoftware.com/site/advsmoothbutton.asp。据我所知,此控件包含在 D2009 的免费平滑控件包中。对于其他 Delphi 版本,您可以购买 TAdvSmoothButton 控件本身或作为控件包的一部分。

于 2009-10-09T07:57:11.167 回答
1

最简单的方法可能是根据按钮大小组合图像。创建一个基础图像,并在其顶部调整一些图层的大小,而不是尝试通过程序生成复杂的渐变。

于 2009-10-08T21:44:47.950 回答