我想用攝像頭爲徽章拍照。爲了做到這一點,我使用了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