DIVIDINDO IMAGEM DA WEBCAM ENTRE PICTUREBOX

GEISSLER 10/08/2011 13:11:12
#381256
Só queria pedir a ajuda de vcs em um projeto ....
Eu precisava dividir a imagem capturada da camera em varios PictureBoxs ...
por exemplo 2 PictureBox um do lado do outro ... tipo escrevo [Ô]oi [Ô] num papel e coloco na frente da camera a ideia é aparecer [Ô]o[Ô] num PictureBox e [Ô]i[Ô] no outro PictureBox ...
Deu pra entender ???/ :P (não sei se me expressei bem shauhsuas)

Desde ja agreço Vlwww inté +++
FROSTYNHO 10/08/2011 13:26:03
#381260
dividir a imagem creio que nao da, oque vc pode fazer é exibir a mesma imagem nas duas picturebox[ô]s e ajusar pra uma exbibir um lado e a outra o outro lado. (se é que me entende... hehehe)
GEISSLER 10/08/2011 13:49:39
#381264
tipo isso msm a ideia...:D SAbes como fazer ??

Obrigado
FROSTYNHO 10/08/2011 14:31:13
#381273
posta o codigo que vc ta usando pra exibir a imagem da webcam
GEISSLER 10/08/2011 15:13:52
#381280
é só um form com um PictureBox ....



Option Strict Off
Option Explicit On
Friend Class Form1

Inherits System.Windows.Forms.Form
Private Declare Function capCreateCaptureWindow Lib [Ô]avicap32.dll[Ô] Alias [Ô]capCreateCaptureWindowA[Ô] (ByVal lpszWindowName As String, ByVal dwStyle As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hwndParent As Integer, ByVal nID As Integer) As Integer
[ô]UPGRADE_ISSUE: Declaring a parameter [ô]As Any[ô] is not supported. Click for more: [ô]ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword=[Ô]FAE78A8D-8978-4FD4-8208-5B7324A8F795[Ô][ô]
Private Declare Function SendMessage Lib [Ô]USER32[Ô] Alias [Ô]SendMessageA[Ô] (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer) As Integer
Private Declare Function ReleaseCapture Lib [Ô]USER32[Ô] () As Integer
Private Const WM_CAP_DRIVER_CONNECT As Integer = 1034
Private Const WM_CAP_DRIVER_DISCONNECT As Integer = 1035
Private Const WM_CAP_GRAB_FRAME As Integer = 1084
Private Const WM_CAP_EDIT_COPY As Integer = 1054
Private Const WM_CAP_DLG_VIDEOFORMAT As Integer = 1065
Private Const WM_CAP_DLG_VIDEOSOURCE As Integer = 1066
Private Const WM_CLOSE As Integer = &H10
Private mCapHwnd As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
[ô]Ligar a câmera[ô]
mCapHwnd = capCreateCaptureWindow([Ô]captura Janela[Ô], 0, 0, 0, 320, 240, Me.Handle.ToInt32, 0)
SendMessage(mCapHwnd, WM_CAP_DRIVER_CONNECT, 0)
Timer1.Enabled = True
Timer1.Interval = 50
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
[ô]Exibe imagem continua no pictubox
My.Computer.Clipboard.Clear()
SendMessage(mCapHwnd, WM_CAP_GRAB_FRAME, 0)
SendMessage(mCapHwnd, WM_CAP_EDIT_COPY, 0)
Picture1.Image = My.Computer.Clipboard.GetImage()
System.Windows.Forms.Application.DoEvents()
End Sub
End Class
ta ai se precisar de + alguma coisa só flar ...
FABIOPAGANINI 10/08/2011 22:53:07
#381316
mude o sub timer para este:

   
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
[ô]Exibe imagem continua no pictubox
My.Computer.Clipboard.Clear()
SendMessage(mCapHwnd, WM_CAP_GRAB_FRAME, 0)
SendMessage(mCapHwnd, WM_CAP_EDIT_COPY, 0)
Dim bmp1 As Bitmap = New Bitmap(160, 240)
Dim bmp2 As Bitmap = New Bitmap(160, 240)
Dim bmporiginal As New Bitmap(320, 240)
bmporiginal = My.Computer.Clipboard.GetImage()
bmp1 = bmporiginal.Clone(New Rectangle(0, 0, 160, 240), Imaging.PixelFormat.Undefined)
bmp2 = bmporiginal.Clone(New Rectangle(160, 0, 160, 240), Imaging.PixelFormat.Undefined)



PictureBox1.Image = bmp1
PictureBox2.Image = bmp2

System.Windows.Forms.Application.DoEvents()

End Sub




OBS: O metodo que voce esta utilizando para capturar imagem da webcan e colocala no picturebox é lenta e inadequada, que é mandando comandos de print-screen e depois capturando a imagem da area de transferencia. ou seja, muito lenta.
com uma pesquisadinha melhor, vc encontra modos simples e poderosos de se obter o resultado da webcam.
mas a principio, com o seu modelo, ja da para ter uma ideia de como dividir a imagem recebida e colocala nos dois picturebox.
GEISSLER 11/08/2011 10:46:05
#381362
Muitooooo Obrigadoooo Funcionou maravilhosamente bem muito obrigado msm :P:P sahsuhausha vou pesquisar vlw pela dica até ++ .....




FABIOPAGANINI 11/08/2011 13:39:06
#381384
Resposta escolhida
Não esqueça de encerrar o tópico!
Com ele ativo, continuará caindo na consulta de tópicos pendente de solução.
Abraços
GEISSLER 11/08/2011 15:05:45
#381414
AAh Blzz ! vlw pela dica,Novato é dose em ???!!! shausha
Tópico encerrado , respostas não são mais permitidas