如何将 Aero 玻璃发光效果用于非文本

发布于 2024-11-17 01:54:12 字数 483 浏览 3 评论 0原文

我正在制作一个程序,该程序广泛使用 Windows Vista/7 的 Aero glass 功能。我使用 DrawThemeTextEx 在玻璃上渲染文本并适当设置 iGlowSize。然而,在文本上具有发光效果会使图片和按钮等其他元素看起来“简单”。我希望这些具有相同的发光效果。问题是图片是动态的,并不总是相同的大小,等等。

一种技术是我在网站中使用的方法,有 6 张图像(每个角一张,上/下和左/右一张)然后缝合在一起一个完整的边界。但是,我希望使发光大小可自定义,因此该技术也不起作用。

所以我看到的两种可能性是:

  • 使用像 DrawThemeTextEx 这样的内置方法来绘制适当的发光。如果是这样,那么我可以使用什么方法呢?
  • 我自己使用 Graphics 绘制发光边框。如果这是唯一的选择,我怎样才能制作类似于文本的发光效果?

其他一些注意事项: 这是使用 Forms(不是 WPF)的 C# 语言。我不介意使用 P/Invoke。

I am making a program that makes extensive use of the Aero glass features of Windows Vista/7. I render text on glass using DrawThemeTextEx and setting iGlowSize appropriately. However, having the glow effect on text makes other elements like pictures and buttons look "plain". I would like these to have the same glow effect. The issue is that the pictures are dynamic, not always the same size, etc.

One technique is the method I would use in websites, having 6 images (one for each corner and one for up/down and left/right) and stitch together a complete border. However, I wish to make the glow size customizable, so this technique won't work either.

So the two possibilities I see are:

  • Using a built-in method like DrawThemeTextEx to draw the appropriate glow. If so, then what method can I use?
  • Draw a glow-border myself using Graphics. If this is the only choice, how can I make a glow similar to the one used for text?

Some other notes:
This is in C# using Forms (not WPF). I do not mind using P/Invoke.

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文