我试图使用带圆角的背景图像来对抗' lime'将transparencykey设置为' lime'的背景颜色,它主要具有仅在背景图像上显示所有表单控件的效果,但石灰背景不会从圆形边缘周围1px的透明度键中删除:
有谁知道如何防止这种情况发生?
答案 0 :(得分:2)
TransparencyKey
使用单一颜色。当您使用消除锯齿绘制圆角时,线条颜色将与背景颜色混合,因此您看到的颜色不完全是Lime
,它是Lime
和{{的混合1}}使圆角更加平滑。因此,当您将Gray
设置为TransparencyKey
时,不会删除该颜色。
要使用高质量的Alpha混合圆角,请考虑使用Layered Windows。创建一个透明背景的位图,其中包含圆形矩形的平滑绘制,然后使用您可以在下面的帖子中找到的技术,制作您的形状:
使用分层窗口可以显着提高性能 具有复杂形状的窗口的视觉效果,使其具有动画效果 形状,或希望使用alpha混合效果。系统 自动编写和重新绘制分层窗口和窗口 基础应用。结果,渲染了分层窗口 平滑,没有复杂窗口区域的典型闪烁。在 另外,分层窗口可以是部分半透明的,即 阿尔法混合。
重要提示
上述技术对于创建简单的启动画面非常有用,但是当您想要对表单进行一些控制时,需要使用变通方法。
除了主窗体之外,您还可以使用Lime
样式创建另一个窗口,并使用该窗口显示Alpha混合背景图像。然后我们只需确保此窗口位于主窗体后面。是的,这不是那么容易,但这里有一个库,它使任务变得非常简单。感谢Anthony Mushrow的想法和实施: