Bonjour,
A partir de la webcam du flux vidéo j'enregistre une image dans une picturebox je voudrais maintenant l'enregistrer sur le disque dur.
Voici le code:
Une fois que la picturebox reçois l'image:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 Imports DirectX.Capture Imports System.Threading Public Class frm_config_cam Dim NombreDeCapture As Int16 Dim TimeElapsCapture As Integer Dim StartTime As Date Private Sub frm_config_cam_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim i As Short Dim j As Filter 'listage des peripheriques video installés sur la machine cb_select_cam.Items.Clear() For i = 0 To Dispositivos.VideoInputDevices.Count - 1 j = Dispositivos.VideoInputDevices(i) cb_select_cam.Items.Add(j.Name) Next 'par défaut If i > 0 Then cb_select_cam.SelectedIndex = 0 'listage des peripheriques audio installés sur la machine cb_select_hp.Items.Clear() For i = 0 To Dispositivos.AudioInputDevices.Count - 1 j = Dispositivos.AudioInputDevices(i) cb_select_hp.Items.Add(j.Name) Next If i > 0 Then cb_select_hp.SelectedIndex = 0 End Sub Private Sub Configurer() 'configurations avancées 'configuration du systeme de compression video et audio CaptureInformation2.CaptureInfo.VideoCompressor = Dispositivos.VideoCompressors(1) 'compression video 'taille de la video CaptureInformation2.CaptureInfo.FrameSize = New Size(320, 240) 'taille de la video 'FPS de la video CaptureInformation2.CaptureInfo.FrameRate = 50 'FPS 'fichier .avi ''CaptureInformation.CaptureInfo.Filename = Application.StartupPath + "\essai.avi" 'lancement du streaming d'affichage CaptureInformation2.CaptureInfo.RenderPreview() End Sub Private Sub NewCaptureReady(ByVal Sender As System.Windows.Forms.PictureBox) 'appele par le gestionnaire de handler sur l'evennement "FrameCapture 'ma picture capturé est arrivée... Dim la As PictureBox = CType(Sender, PictureBox) 'la je converti mon picturebox en picturebox...je sais pas pourquoi, fo le faire sinom ca marche pas '' histoire de savoir combien ca prends de temps de faire une capture. Dim RunLength As System.TimeSpan = Now.Subtract(StartTime) Dim TimeElapsCapture As Integer = RunLength.Milliseconds NombreDeCapture = NombreDeCapture + 1 pic_photo.Image = la.Image 'j affecte ma capture d'image a mon picturebox qui attend que ca. End Sub Private Sub tsb_config_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_video_webcam.Click 'pre configuration du capturing 'definission de la camera CaptureInformation2.Camera = Dispositivos.VideoInputDevices(cb_select_cam.SelectedIndex) 'mise en place du stream video et audio CaptureInformation2.CaptureInfo = New DirectX.Capture.Capture(CaptureInformation2.Camera, Dispositivos.AudioInputDevices(cb_select_hp.SelectedIndex)) 'renseignement du panneau d'affichage de la video CaptureInformation2.CaptureInfo.PreviewWindow = pic_camera 'compteur pour les capture d'image (frame video) CaptureInformation2.Counter = 1 CaptureInformation2.CounterFrames = 1 'configurations avancées Configurer() 'pour la gestion evennementiel de la capture d'ecran je cree un gestionnaire d evennement sur Framecapturecomplete AddHandler CaptureInformation2.CaptureInfo.FrameCaptureComplete, AddressOf NewCaptureReady End Sub Private Sub tsb_quitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_quitter.Click Me.Close() End Sub Private Sub tsb_photo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_photo.Click 'demande une capture DirectX ...et lorsqu'elle est ready je la recoit par le Handler cree un peut plus haut Dim StartTime As String = Now ' Starting date/time. CaptureInformation2.CaptureInfo.CaptureFrame() End Sub End Class
pic_photo.Image = la.Image 'j affecte ma capture d'image a mon picturebox qui attend que ca.
Je voudrais la sauvée j'ai essayé avec pic_photo.Image.Save("Lechemin")
Je sais enregistré l'image mais a partir d'une boite de dialogue:
Je voudrais l'enregistré sans boite de dialogues en mettant le chemin du répertoire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 pic = pic_photo.Image SaveFileDialog.ShowDialog() pic.Save(SaveFileDialog.FileName)
Si quelle qu'un a de la doc ou une solution merci d'avance
Partager