+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [vb6] scattare foto da Webcam con VB, ma con l'uso di effetti..

  1. #1
    miitiicoo non è in linea Scolaretto
    Post
    126

    [vb6] scattare foto da Webcam con VB, ma con l'uso di effetti..

    ciao a tutti..
    grazie al web sono riuscito a trovare il codice per accedere da form alla webcam. Nella picture box compare il flusso che io posso salvare.
    Mi chiedo pero'.. come posso inserire un effetto in quella picture box? Ad esempio.. una label con il nome del villaggio, oppure una cornice colorata spiritosa?
    secondo voi si puo' fare?
    ho provato ad aggiungere nella picture la label, ma questa al momento dell'esecuzione il flusso video va in primo piano su tutto..
    se avete idee/suggerimenti.. io nel frattempo vi invio il codice (tanto non e' il mio, quindi se sarà orrendo .... ciao gibra.. )

    codice del modulo
    codice:
    Option Explicit
    Public Const ws_child As Long = &H40000000
    Public Const ws_visible As Long = &H10000000
    Public 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
    Public Const WM_USER As Long = &H400
    Public Const WM_CAP_START As Long = WM_USER
    Public Const wm_cap_driver_connect As Long = WM_CAP_START + 10
    Public Const WM_CAP_DRIVER_DISCONNECT As Long = WM_CAP_START + 11
    Public Const wm_cap_set_preview As Long = WM_CAP_START + 50
    Public Const WM_CAP_SET_PREVIEWRATE As Long = WM_CAP_START + 52
    Public Const WM_CAP_DLG_VIDEOFORMAT As Long = WM_CAP_START + 41
    Public Const WM_CAP_FILE_SAVEDIB As Long = WM_CAP_START + 25
    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
    Declare Function DestroyWindow Lib "user32" (ByVal hWnd As Long) As Long
    


    codice della form
    codice:
    Option Explicit
    Private hCap As Long
    Private Sub cmdImpostazioniVideo_Click()
    'Visualizza la finestra di dialogo per la modifica delle impostazioni video.
    Call SendMessage(hCap, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&)
    End Sub
    Private Sub cmdScatta_Click()
    On Error GoTo GestoreErrori
    Dim NomeFile As String
    'Interrompe momentaneamente l'anteprima, così da visualizzare l'immagine che verrà
    'salvata.
    Call SendMessage(hCap, wm_cap_set_preview, CLng(False), 0&)
    With dlgSalva
    .Flags = cdlOFNPathMustExist Or cdlOFNOverwritePrompt
    .ShowSave
    NomeFile = .FileName
    End With
    'Salva l'immagine correntemente visualizzata.
    Call SendMessage(hCap, WM_CAP_FILE_SAVEDIB, 0&, ByVal CStr(NomeFile))
    Call SendMessage(hCap, wm_cap_set_preview, CLng(True), 0&)
    Exit Sub
    GestoreErrori:
    If Err.Number = 32755 Then Exit Sub 'Pulsante Annulla.
    Call SendMessage(hCap, wm_cap_set_preview, CLng(True), 0&)
    End Sub
    Private Sub Command1_Click()
    Label1.Visible = True
    End Sub
    Private Sub Form_Load()
    hCap = capCreateCaptureWindow("Cattura immagini", ws_child Or ws_visible, 0, 0, picCam.Width, picCam.Height, picCam.hWnd, 0)
    If hCap <> 0 Then
    Call SendMessage(hCap, wm_cap_driver_connect, 0, 0)
    Call SendMessage(hCap, WM_CAP_SET_PREVIEWRATE, 66, 0&)
    'Attiva l'anteprima.
    Call SendMessage(hCap, wm_cap_set_preview, CLng(True), 0&)
    End If
    End Sub
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    On Error Resume Next
    Call SendMessage(hCap, WM_CAP_DRIVER_DISCONNECT, 0, 0)
    If hCap <> 0 Then DestroyWindow (hCap)
    Kill App.Path & "\Temp.bmp"
    End Sub

  2. #2
    SaRtO non è in linea Novello
    Post
    5
    Devi intervenire con il sistema

    system.drawing

    leggiti tutte le informazioni in merito perchè sono parecchie!!.

  3. #3
    miitiicoo non è in linea Scolaretto
    Post
    126
    oddio... quasi non ci speravo più!!!
    grazie infinite per la dritta... mi sai consigliare qualche link da cui cominciare?

    Quote Originariamente inviato da SaRtO Visualizza il messaggio
    Devi intervenire con il sistema

    system.drawing

    leggiti tutte le informazioni in merito perchè sono parecchie!!.

  4. #4
    SaRtO non è in linea Novello
    Post
    5
    Oddio, non vorrei risultare troppo scortese nel indicarti il tasto F1.

    Cerca "system.draw visual basic" su google.. dovresti trovare qualcosa.
    Io lo utilizzai per fare dei mix di immagini e salvare il risultato come unica bitmap.

    Se ti dovesse intressare il codice, vedo di recuperarlo.

  5. #5
    L'avatar di gibra
    gibra non è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    4,517
    Quote Originariamente inviato da SaRtO Visualizza il messaggio
    system.drawing
    In VB 6.0 ????

    Ho qualche leggero dubbio...

  6. #6
    miitiicoo non è in linea Scolaretto
    Post
    126
    ciao gibra..
    in effetti io sto cercando ma... non trovo granchè!
    Essendo quella della foto un'attività a parte del programmino di gestione anagrafica.. pensate che posso realizzarla in esterno in modo semplice e poi magari richiamarla dal vb con un exe?


    Quote Originariamente inviato da gibra Visualizza il messaggio
    In VB 6.0 ????

    Ho qualche leggero dubbio...

  7. #7
    L'avatar di gibra
    gibra non è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    4,517
    Quote Originariamente inviato da miitiicoo Visualizza il messaggio
    ciao gibra..
    in effetti io sto cercando ma... non trovo granchè!
    Sicuramente per VB6 non troverai un bel niente perchè quell'istruzione è per .NET, cioè tutta un'altra minestra.

    Quote Originariamente inviato da miitiicoo Visualizza il messaggio
    Essendo quella della foto un'attività a parte del programmino di gestione anagrafica.. pensate che posso realizzarla in esterno in modo semplice e poi magari richiamarla dal vb con un exe?
    Il codice che hai postato non serve ad un granchè. Oltretutto non è nemmeno formattato e passa la voglia di guardarlo.
    Posta un progetto funzionante, così chi ha voglia di aiutarti potrà darci un'occhiata e fare qualche test.

    Ciao

  8. #8
    SaRtO non è in linea Novello
    Post
    5
    Oh diamine ladro....
    scusami tanto.. è che io lavoro con VB 2008 Express Edition.. :S

  9. #9
    L'avatar di gibra
    gibra non è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    4,517
    Quote Originariamente inviato da SaRtO Visualizza il messaggio
    Oh diamine ladro....
    scusami tanto.. è che io lavoro con VB 2008 Express Edition.. :S
    Quindi sei sul forum sbagliato.

    Ciao

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi