.net 如何在图形视图上绘制半透明窗体,以便清晰地呈现控件

.net 如何在图形视图上绘制半透明窗体,以便清晰地呈现控件,.net,winforms,graphics,transparency,.net,Winforms,Graphics,Transparency,我有一个图形视图,我想覆盖一个半透明的表单,上面有一些控件,比如TreeView 有点像这样(但背景是半透明的): 我尝试过使用两种无边界的形式,一种是背景简单、不透明度为60%的参考底图,另一种是带有透明键和控件的覆盖图。但是,文本渲染非常糟糕,尤其是当参考底图背景颜色较浅且三维视图较暗时 我能想到的唯一方法是捕获3D视图相关部分的位图,并将其设置为窗体的背景,然后希望它能在该背景上很好地渲染TreeView 这是最好的方法吗?我似乎有点过分了 这篇文章是我的基本方法: 不要使用Winfor

我有一个图形视图,我想覆盖一个半透明的表单,上面有一些控件,比如TreeView

有点像这样(但背景是半透明的):

我尝试过使用两种无边界的形式,一种是背景简单、不透明度为60%的参考底图,另一种是带有透明键和控件的覆盖图。但是,文本渲染非常糟糕,尤其是当参考底图背景颜色较浅且三维视图较暗时

我能想到的唯一方法是捕获3D视图相关部分的位图,并将其设置为窗体的背景,然后希望它能在该背景上很好地渲染TreeView

这是最好的方法吗?我似乎有点过分了

这篇文章是我的基本方法:

不要使用Winforms,而是使用WPF。

即使不清楚您需要什么,我也要说Winforms不适合这种情况。这是Windows中文本绘制方式的一个基本限制。它是抗锯齿的,以改善图示符的外观。最常见的消除混叠技术是ClearType,正如在屏幕截图中使用的那样,它在字母边缘添加红色和蓝色像素,将其混合到背景中。当背景不可预测时,这不起作用,像素不再混合,变得非常可见,产生非常难看的类型。只有关闭抗锯齿功能才是解决这一问题的一个选项,即生成外观始终难看的文本。WPF在这种图形密集型需求中应该表现得更好。