我想用摄像头为徽章拍照。为了做到这一点,我使用了directshow.net库和示例,这为我带来了一个按照DxSnap示例在一个picturebox中呈现的.NET摄像头预览屏幕。我现在想用可移动和可调整大小的矩形(锁定宽高比)覆盖它,以便最终用户将其拖动到人物上,以便在适当的位置从网络摄像头拍摄图像。因此,这将是这个样子:directshow.net摄像头覆盖透明面板
要做到这一点,我觉得没有问题,网络摄像头资源放入图片框,我将只是一个透明的面板或图片框覆盖它和正常使用。 NET代码在那里做一个矩形。如果我覆盖正常的面板,它会按照预期显示在directshow网络摄像头输出的上方。然而,如果我使用这个技巧来实现透明面板或者picturebox:
protected override CreateParams CreateParams
{
get
{
CreateParams createParams = base.CreateParams;
createParams.ExStyle |= 0x00000020; // WS_EX_TRANSPARENT
return createParams;
}
}
protected override void OnPaintBackground(PaintEventArgs e)
{
// Do not paint background.
}
它不幸出现在directshow输出下面。有没有简单的方法来解决这个问题或其他方法。如果可以避免,我宁愿不深入研究directshow.net,我认为这将是避免它的一种简单方法。
如果您对答案感到满意,则应将其标记为答案。 –
由于存在开放的赏金,其他人可能希望为稍后看到的人提供替代方案,是否还有其他建议。 – PeteT
这完全救了我!路要走。我以前不知道这个图书馆。 – ashays