我正在制作一个广泛使用 Windows Vista/7 的 Aero glass 功能的程序。我使用 DrawThemeTextEx 在玻璃上渲染文本并适当地设置 iGlowSize。但是,在文本上添加发光效果会使图片和按钮等其他元素看起来“普通”。我希望这些具有相同的发光效果。问题是图片是动态的,并不总是相同的大小等。
一种技术是我在网站中使用的方法,有 6 张图像(每个角一个,一个上/下和左/右)并将完整的边框缝合在一起。但是,我希望使发光大小可自定义,因此该技术也不起作用。
所以我看到的两种可能性是:
- 使用像 DrawThemeTextEx 这样的内置方法来绘制适当的光晕。如果是这样,那么我可以使用什么方法?
- 使用 Graphics 自己绘制一个发光边框。如果这是唯一的选择,如何制作类似于用于文本的发光?
其他一些注意事项:这是在 C# 中使用 Forms(不是 WPF)。我不介意使用 P/Invoke。