C#Alpha Blend透明PictureBox

Pet*_*teT 2 c# transparency alphablending

我的表单上显示了一个网络摄像头源,并希望在其上绘制.我打算用图片框来做这件事,我发现PictureBox不支持真正的透明度,而只是它所用的表格的颜色.它也不支持alphablending,这是我希望它显示的方式,类似于可以如何显示表单.

有谁知道如何做到这一点?或者实施了可以执行此操作的控件?

Owe*_*enP 5

Windows窗体中的透明度有点破碎.正如您所发现的,它并不真正支持重叠控件; 它只是通过透明部分显示表单的背景颜色.通过一些Windows API魔术,您可以将许多控件显示为真正透明,并支持重叠,正如Bob Powell的这篇文章所示.我已经能够使他的技术适用于标签和自定义控件,但我想我已经尝试让它的PictureBox效果令人失望.一种解决方法是尝试创建一个手动绘制图像的自定义控件; 我没试过. 这是一个论坛帖子,我演示了一个支持真正透明度的自定义控件(我在该论坛上的句柄是AtmaWeapon.)我的内存似乎表明这最适合自定义控件,因为Microsoft的控件渲染时会出现一些明显的魔力.

或者,您可以使用WPF而不是WinForms来实现您的应用程序.WPF的透明度适用于并支持重叠控件.这是您开发应用程序的一个相当大的转变,但它从一开始就有效.