Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alissong

Salvar imagem Captura da Webcam

Recommended Posts

Pessoal,

 

Tenho esse código que gravar a imagem no formato "bmp", mas tenho que digitar o nome da foto e escolher o local onde que salvá-lo. Veja o código:

Private Sub cmdgravar_Click()

Dim strNew As String

On Error GoTo cmdgravar ' Inicia o tratamento de erro

 

CommonDialog1.CancelError = True

CommonDialog1.Flags = cdlOFNHideReadOnly + cdlOFNOverwritePrompt

CommonDialog1.Filter = "Fotos (*.bmp)|*.bmp"

CommonDialog1.FilterIndex = 2

CommonDialog1.ShowSave

strNew = CommonDialog1.FileName

 

'Captura a imagem atual

Clipboard.Clear

SendMessage mCapHwnd, WM_CAP_GRAB_FRAME, 0, 0

SendMessage mCapHwnd, WM_CAP_EDIT_COPY, 0, 0

Image1.Picture = Clipboard.GetData

 

'Salva imagem no local D:\webcam

SavePicture Image1.Picture, strNew

 

MsgBox "Gravação concluída com sucesso !", vbInformation, "Gravação"

 

Exit Sub

cmdgravar:

MsgBox Err.Description, vbInformation, "Erro em [cmdgravar]"

 

End Sub

Então, gostaria que salvasse na pasta: D:\webcam\0208200815:30:15.bmp ou jpeg automático.

 

 

Alguém pode me ajudar como faço essas adaptações.

 

 

Um abraço.

 

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Bem, é uma tentantiva, eu não conheço o componente que você está utilizando, mas isso aqui significa que ele vai salvar o arquivo dependendo o que você digitar na caixinha que vai aparecer.

 

strNew = CommonDialog1.FileName

Tente portanto colocar o caminho direto e veja se funciona

 

strNew ="D:\webcam\0208200815:30:15.bmp"

Paulo Mendes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo Mendes,

 

Nesse mesmo formulário tem uma label que exibe o horário no formato: 020808 15:30:02. Então como faço para salvar o arquivo na D:\webcam e pegando para o nome do arquivo a data atual e hora que cliquei para gravar imagem no formato bmp ou jpeg. Portanto, amanhã testarei sua dica.

 

 

 

Um abraço.

 

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala alissong.

 

Então, como pode perceber estou voltando agora, fiquei um tempo fora e começei a trabalhar em outra plataforma, por isso não tenho a ide para testar e afirmar para você que isso que vou dizer agora dará certo:

 

a Função date() retorna a data atual do computador, precedida da função format() ela retorna uma string em um formato que você desejar.

 

portanto

 

DataAtual = Format(date, "dd/mm/yyyy hh:mm:ss") '|te retornará uma string do tipo 07/09/2008 14:18:32

tente fazer dessa maneira é capaz que dê certo.

 

DataAtual = Format(date, "ddmmyy hh:mm:ss") '|te retornará uma string do tipo 070908 14:18:32

ou simplismente referecie a tal label na string para salvar o arquivo, também funciona

 

strNew ="D:\webcam\" + label.caption + ".bmp"

Espero ter ajudado.

 

Paulo Mendes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo Mendes,

 

Tentei assim, mas não deu certo:

Private Sub cmdgravar_Click()

Dim strNew As String

On Error GoTo cmdgravar ' Inicia o tratamento de erro

 

'Captura a imagem atual

Clipboard.Clear

SendMessage mCapHwnd, WM_CAP_GRAB_FRAME, 0, 0

SendMessage mCapHwnd, WM_CAP_EDIT_COPY, 0, 0

Image1.Picture = Clipboard.GetData

 

'Inicia a salvamento

lbl_time.Caption = Format(Date, "dd/mm/yy hh:mm:ss")

strNew = "D:\webcam\" + lbl_time.Caption + ".bmp"

 

'Salva imagem no local D:\webcam

SavePicture Image1.Picture, strNew

 

MsgBox "Gravação concluída com sucesso !", vbInformation, "Gravação"

 

Exit Sub

cmdgravar:

MsgBox Err.Description, vbInformation, "Erro em [cmdgravar]"

 

End Sub

Exibe esse erro:

Invalid property value

na linha: SavePicture Image1.Picture, strNew

 

Por que isso?

 

 

Um abraço.

 

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá...

este erro ocorre por causa da sua data e hora

 

verifique o conteudo que esta na label da data e hora ...

 

ao inves de colocar o sinal "+" coloque o sinal "&" este é o correto em vb para concatenar.

 

tambem pode colocar um Replace, para retirar os caracteres proibidos

Replace(label,":","")

Replace(label,"/","")

 

ele ira retirar o sinal ":" e o "/" (dois pontos) e deixar em branco ....

assim a data e hora que é:"08/09/2008 11:43:30" passa para "08092008114330"

 

 

assim ficaria:

 

"D:\webcam\" & label.caption & ".bmp"

 

 

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.