Récupérer VideoHDR dans un Bitmap
Bonjour,
Question simple, réponses simples trouvée en C, VB, etc. pas en delphi.
Je fais une capture d'image depuis la WebCam en utilisant
Code:
capSetCallbackOnFrame(hcam, Longint(@FrameCallBackProc));
Parfait. Mais je veux maintenant tout simplement récupérer mon image en BitMap depuis la structure VideoHDR. Comment faire ?
En clair, partant de le structure suivante:
Code:
1 2 3 4 5 6 7
|
type
TVIDEOHDR = record
lpData : PBYTE; // pointer to locked data buffer
dwBufferLength : DWORD; // Length of data buffer
dwBytesUsed : DWORD; // Bytes actually used
dwTimeCaptured : DWORD; // Milliseconds from start of |
comment je mets mes pixels dans la structure suivante:
Par exemple, en VB, on fera:
Code:
1 2 3 4 5
| Public Function FrameCallbackTarget(ByVal hwnd As IntPtr, ByRef lpVHdr As VIDEOHDR) As IntPtr
Dim oBMP As New Bitmap(640, 480, 640 * 3,
Imaging.PixelFormat.Format24bppRgb, New System.IntPtr(lpVHdr.lpData))
PictureBox2.Image = oBMP
End Function |
Et en delphi ???
Merci.