Capturar Imagen de video

Iniciado por Zeroql, 6 Abril 2007, 17:02 PM

0 Miembros y 1 Visitante están viendo este tema.

Zeroql

bueno señores....
tengo una pregunta sobre el manejo de imagenes....
Resulta que tengo un picture que me reproduce un video con codigo api.
y necesito capturar la imegen para enviarla a un control de imagen y
tambien enviarla al portapapeles.
HE intentado con

Clipboard.Clear
Clipboard.SetData Picture2.Picture
image1.picture=picture2.picture

pero esto no funciona, algien me puede facilitar el code para hacer esto!!!! gracias
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#


Sancho.Mazorka

1 Timer1 (Interval = 50, Enabled = False)
1 Picture1


Nunca lo finalizes desde el STOP del Visual Basic porque se cuelga todo, ya que no libera la WebCam, para eso puse el QueryUnload

'API's para el manejo de imagen
Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function PrintWindow Lib "user32" (ByVal hWnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long

'Constantes de API avicapture
Private Const CONNECT As Long = 1034
Private Const DISCONNECT As Long = 1035
Private Const GET_FRAME As Long = 1084
Private Const WS_CHILD As Long = &H40000000
Private Const WS_VISIBLE As Long = &H10000000

'Handle de la WebCam
Private mCapHwnd As Long

Private Sub Form_Load()
mCapHwnd = capCreateCaptureWindow("BetterCam", WS_CHILD Or WS_VISIBLE, 0, 0, 320, 240, Picture1.hWnd, 0)
SendMessage mCapHwnd, CONNECT, 0, 0
Timer1.Enabled = True
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Timer1.Enabled = False
SendMessage mCapHwnd, DISCONNECT, 0, 0
End Sub

Private Sub Timer1_Timer()
SendMessage mCapHwnd, GET_FRAME, 0, 0
PrintWindow mCapHwnd, Picture1.hdc, 0
End Sub


Espero que te sirva  ::)


Sancho.Mazorka    :P
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



Zeroql

viejo gracias pero esto es para capturar le imagen de la web cam, y yo nesecito es cojer la imagen que se este mostrando en un picture, y enviarla al portapapeles.
me explico mejor tengo un picture en el que estoy reproducioendo un video usando la api del Wmp, entonces como hago para capturar esta imagen
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#


Sancho.Mazorka

Agrega esto con las otras Constantes

Private Const COPY_IMAGE As Long = 1054

Al hacer click en el Form, la imagen se copia al portapapeles  ::)

Private Sub Form_Click()
SendMessage mCapHwnd, COPY_IMAGE, 0, 0
End Sub




Sancho.Mazorka    :¬¬
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html