IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Sauvegarder l'image d'une Picturebox sur le disque dur


Sujet :

Windows Forms

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut Sauvegarder l'image d'une Picturebox sur le disque dur
    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:

    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
    Une fois que la picturebox reçois l'image:

    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:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pic = pic_photo.Image
            SaveFileDialog.ShowDialog()
            pic.Save(SaveFileDialog.FileName)
    Je voudrais l'enregistré sans boite de dialogues en mettant le chemin du répertoire
    Si quelle qu'un a de la doc ou une solution merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par jacko842 Voir le message
    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:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pic = pic_photo.Image
            SaveFileDialog.ShowDialog()
            pic.Save(SaveFileDialog.FileName)
    Je voudrais l'enregistré sans boite de dialogues en mettant le chemin du répertoire
    Si quelle qu'un a de la doc ou une solution merci d'avance
    Je comprends pas ce qui te pose problème... c'est pareil qu'avec un SaveFileDialog, sauf que c'est toi qui indique le chemin de l'image...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut
    En effet je m'etais perdu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            pic = pic_photo.Image
            pic.Save("c:\\myBitmap.bmp")
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copier une ressource sur le disque dur
    Par CLeBeR dans le forum VB.NET
    Réponses: 2
    Dernier message: 21/01/2012, 00h48
  2. Enregistrer une vidéo sur le disque dur
    Par bbattia dans le forum WinDev
    Réponses: 2
    Dernier message: 25/08/2011, 00h26
  3. [CS3] Enregistrer une vidéo sur le disque dur
    Par vouvou dans le forum Flash
    Réponses: 1
    Dernier message: 03/08/2010, 12h06
  4. une BDD sur un disque dur externe via la Neuf box
    Par CPI_en_mousse dans le forum Installation
    Réponses: 2
    Dernier message: 23/06/2008, 18h58
  5. importer une base sur mon disque dur
    Par Ralfman68 dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 29/10/2007, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo