begin process at 2012 02 13 23:46:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

VB.NET problème de save de picturebox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

VB.NET problème de save de picturebox

mercredi 14 mai 2008 à 09:01:03 | VB.NET problème de save de picturebox

kyoleroi

bonjour,
Je cherche l'erreur dans mon code!
Je désire enregistrer une pictureBox avec la commande pictureBox.Image.save(nomfichier, imageFormat.jpeg)
mais j'ai une erreur qui se génère lors de l'exécution:

"L'exception System.NullReferenceException n'a pas été gérée
  Message="Variable objet ou variable d'un bloc With non définie."

Donc je ne sais pas comment résoudre se problème.
J'avais déjà réaliser la fonction avec une savedialog mais bon l'apparition de la boite de dialogue est pénible.
Comment dois je faire pour enlever cette erreur?

cordialement

mercredi 14 mai 2008 à 09:12:39 | Re : VB.NET problème de save de picturebox

Renfield

Administrateur CodeS-SourceS
ne pas tenter de faire un save sur un objet image qui n'existe pas (image est une reference nulle, dans ton projet)
mercredi 14 mai 2008 à 09:22:02 | Re : VB.NET problème de save de picturebox

kyoleroi

Je fais commen alors pour résoudre se problème?

cordialement

mercredi 14 mai 2008 à 09:25:27 | Re : VB.NET problème de save de picturebox

Renfield

Administrateur CodeS-SourceS
qu'as tu, dans ce picturebox ?

image est une reference à un objet nul, donc, pas d'image, a priori
mercredi 14 mai 2008 à 09:40:27 | Re : VB.NET problème de save de picturebox

kyoleroi

en fait dans ma picture box, je récupère une image via une web cam ensuite, je la traite puis je l'enregistre, avec la boite de dialogue savedialogue sa marche mais avec un save simple non, peut être que je fais mon save trop tot?
mercredi 14 mai 2008 à 09:52:12 | Re : VB.NET problème de save de picturebox

Renfield

Administrateur CodeS-SourceS
tu aurais du code (limite du qui fonctionne et du qui fonctionne pas) ?
mercredi 14 mai 2008 à 10:45:48 | Re : VB.NET problème de save de picturebox

kyoleroi

Sa va être long mais voila le code complet de ma gestion de web cam avec saisie de picturebox en sauvegarde:
Vous trouverez en vert la méthode de sauvegarde.
Imports DirectX.Capture

Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim NombreDeCapture As Int16
    Dim TimeElapsCapture As Integer
    Dim StartTime As Date

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim j As Short
        Dim f As Filter

        'listage des peripheriques video installés sur la machine
        ComboBox1.Items.Clear()
        For j = 0 To Dispositivos.VideoInputDevices.Count - 1
            f = Dispositivos.VideoInputDevices(j)
            ComboBox1.Items.Add(f.Name)
        Next
        If j > 0 Then ComboBox1.SelectedIndex = 0

        'listage des peripheriques audio installés sur la machine
        ComboBox2.Items.Clear()
        For j = 0 To Dispositivos.AudioInputDevices.Count - 1
            f = Dispositivos.AudioInputDevices(j)
            ComboBox2.Items.Add(f.Name)
        Next
        If j > 0 Then ComboBox2.SelectedIndex = 0

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'pre configuration du capturing
        'definission de la camera
        CaptureInformation2.Camera = Dispositivos.VideoInputDevices(ComboBox1.SelectedIndex)
        'mise en place du stream video et audio
        CaptureInformation2.CaptureInfo = New DirectX.Capture.Capture(CaptureInformation2.Camera, Dispositivos.AudioInputDevices(ComboBox2.SelectedIndex))
        'renseignement du panneau d'affichage de la video
        CaptureInformation2.CaptureInfo.PreviewWindow = PictureBox2
        'compteur pour les capture d'image (frame video)
        CaptureInformation2.Counter = 1
        CaptureInformation2.CounterFrames = 1
        'configurations avancées
        Configurer()
        'pour faire plus joli
        Button1.Enabled = False
        '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 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

        Label1.Visible = True
        NombreDeCapture = NombreDeCapture + 1
        Label1.Text = "Capture nmr:" & NombreDeCapture & " Capture realisée en:" & TimeElapsCapture & " ms"
        PictureBox1.Image = la.Image 'j affecte ma capture d'image a mon picturebox qui attend que ca.

    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        'demande une capture DirectX ...et lorsqu'elle est ready je la recoit par le Handler cree un peut plus haut
        Dim StartTime = Now    ' Starting date/time.
        CaptureInformation2.CaptureInfo.CaptureFrame()

'premier cas: bug, mais fonctionne si je l'insere dans un bouton donc je pense qui faut faire un delay pour attendre que la capture soit bien faite!!!

        PictureBox2.Image.save("nomfichier.jpeg", imageformat.jpeg)

'deuxième cas: marche
  
      Dim ds
        ds = New SaveFileDialog()
        ds.FileName = "c:\toto.bmp"
        ds.Title = "Save Image as..."
        ds.Filter = "Bitmap file (*.bmp)|*.bmp"
        ds.FilterIndex = 1
        If (ds.ShowDialog() <> Windows.Forms.DialogResult.OK) Then
            Return
        End If

        PictureBox2.Image.Save(ds.FileName)

    End Sub
End Class

mercredi 14 mai 2008 à 11:07:26 | Re : VB.NET problème de save de picturebox

Renfield

Administrateur CodeS-SourceS
y'a pas un event (ou delegate a placer) qui te previens que ta capture est prête ?

ou possibilité de placer un Application.Doevents pour lui laisser les temps
mercredi 14 mai 2008 à 11:16:13 | Re : VB.NET problème de save de picturebox

kyoleroi

oui c'est cela que je cherche à faire, parce que comme on le vois, j'attend que mon image soit prète pour que je la mettent dans ma pictureBox, mais je ne connais pas les commande Application.Doevents!!!
Comment à votre avis je pourrais faire?

cordialement
j'avais penser à une scrutation de ma pictureBox1.image et a chaque fois quelle est modidfier je l'enregistre!
mercredi 14 mai 2008 à 11:29:37 | Re : VB.NET problème de save de picturebox

Renfield

Administrateur CodeS-SourceS
ce genre de boucle d'attente ?

Do While PictureBox1.Image Is Nothing
    Application.Doevents
Loop

1 2

Cette discussion est classée dans : problème, vb, erreur, picturebox, save


Répondre à ce message

Sujets en rapport avec ce message

Erreur ActiveX [ par yoda ] Salut Quand je veux lancer un programme fait en VB et qui contient des activeX genre Calendar.ocx j'ai une erreur qui apparait.erreur d'exécution '429 : Problème DirectX URGENT : [ par VbAlex ] Voila, jè ai beau selectioner la référence "DirectX7", visual basic retourne un message d' erreur du type "Erreur OLE Automation" ou "Variable non sup WORD 97 ERREUR EXCECUTION VB [ par truemidnighter ] Bonjour, J'ai actuellement un problème sur un poste dans ma boîte qui pose un problème à chaque ouverture de word 97, il m'indique un panneau d'erreu Gros problème avec VB .NET!!! [ par FAS ] Bonjour,Je me suis mis il y a qqes jour au vb .Net. J'ai téléchargé qqes programmes, mais VB .Net me retourne toujours une erreur quand il essaie de l Driver ODBC [ par vivi62 ] bonjour à tousJ'ai un petit problème pour la réalisation d'un projet VB.J'ai réalisé un projet de données, avec des modules de classe et un concepteur Problème VB et Access [ par rems02 ] J'ai un petit problème de lecture d'une base de donnée Access.en voulant afficher une liste dans une ListeBoxj'obtiens cette erreur: Erreur d'exécutio Mutex problème en exécution depuis vb erreur 288 [ par xav33 ] Bonjour tout le monde,J'utilise les fonctions createmutex et releasemutex pour bloquer le nombre d'instance de mon logiciel.Quand je lance l'exe celà Problème pour l'autoredraw et le save [ par drnicholas001 ] Salut, grâce à votre aide j'ai réussis à faire que l'autoredraw n'e redessine pas sur l'image précédente dans la picturebox et à enresgistrer mon imag Problème d'impression répétée avec message d'erreur '486' (VB 6) [ par eldadbiker ] Bonjour à tous,Je suis novice en VB donc si c 'est comme question ne m'en voulez pas ! ;)Voilà mon souci, lorsque je lance des impressions successive


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,357 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales