0

问题:

如何将透明面板显示的内容刮到位图中?

背景:

我需要制作一个位于所有内容之上并模糊部分屏幕但不阻止用户与之交互的表单。奇怪……我知道。

我创建了一个表单并向其中添加了一个面板。然后我将面板的设置背景颜色设置为红色。然后将窗体的TransparentKey 属性设置为红色和topmost = True。

所以现在我有一个透明面板。凉爽的。我可以与它下面的应用程序进行交互。凉爽的。现在我只需要添加模糊。我想获取 panel1 上显示的内容并将其模糊,然后显示在 panel1 顶部的 panel2 上。或者至少是这样的想法。

重要细节:

DrawToBitmap() 只显示红色背景。

这是在 XP 上运行的。

4

1 回答 1

2

是的,DrawToBitmap()。但不是在透明面板上,在它下面的那个上。如果那个“面板”实际上不是你的,那么你必须使用 Graphics.CopyFromScreen()。

不确定您打算用它做什么,但在透明面板中绘制模糊图像会使其不透明,并且您无法再与底层窗口进行交互。另外,不要使用红色,如果底层窗口包含任何红色,您将获得意想不到的透明度。颜色。紫红色是一个不错的选择,它是一种混搭的颜色。

于 2010-08-31T11:27:43.287 回答