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

VB.NET Discussion :

Conversion Binaire en Image


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 2
    Par défaut Conversion Binaire en Image
    Bonjour à tous.
    Voila, je suis débutant en VB.Net.
    Je développe une application qui fait le lien entre une image et les informations concernant une personne; Dans ma BD access j'ai un champ photo et nom. Le champ photo est de type Objet OLE dans lequel je stocke les photo en binaire. Le problème est que je n'arrive pas à restituer les données binaires stockées dans ma db dans un picturebox que j'ai nommé pb_photo.
    La fonction qui me permet de convertir les fichier image en binaire est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Function ConvImage(ByVal formulaire As OpenFileDialog) As Byte()
            On Error Resume Next
     
            Dim oFileStream As System.IO.FileStream
            Dim tabImage As Byte()
     
            tabImage = Nothing
            oFileStream = CType(formulaire.OpenFile(), System.IO.FileStream)
            ReDim tabImage(CInt(oFileStream.Length))
            oFileStream.Read(tabImage, 0, CInt(oFileStream.Length))
            Return tabImage
    End Function

  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 : 43
    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
    Par défaut
    Tu peux faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function LoadImage(ByVal bytes As Byte()) As Image
        Using ms As New MemoryStream(bytes)
            Return Image.FromStream(ms)
        End Using
    End Function
    Et dans ta première fonction, tu peux simplifier en utilisant la méthode File.ReadAllBytes (qui prend en paramètre le nom du fichier et renvoie un tableau de byte)

    Au fait, n'utilise JAMAIS "On Error Resume Next". Cette instruction n'a aucun sens : il y a une erreur, mais on s'en fout, on continue comme si de rien n'était... ce qui va provoquer une autre erreur, qu'on va aussi ignorer, ce qui va causer une autre erreur, et ainsi de suite... jusqu'à la fin de la méthode. A la fin, ta méthode n'aura pas fonctionné et te renverra n'importe quoi, et tu n'auras aucune indication du pourquoi... un vrai cauchemar pour le débogage

    Utilise plutôt la gestion d'exception avec Try/Catch. Intercepte les erreurs que tu peux gérer (et seulement celles-là). Et ne laisse jamais un bloc Catch vide : ça revient à ignorer l'erreur, ce qui ne sert généralement à rien et rend plus difficile le débogage

Discussions similaires

  1. conversion d'une image BMP
    Par didinel dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 11/08/2005, 17h02
  2. Conversion de l'image en nuance de gris
    Par tlemcenvisit dans le forum C++Builder
    Réponses: 11
    Dernier message: 11/04/2005, 02h15
  3. Réponses: 3
    Dernier message: 03/03/2005, 17h27
  4. Conversion binaire -> hexadecimal
    Par barthelv dans le forum C
    Réponses: 2
    Dernier message: 06/08/2003, 10h40
  5. Conversion binaire -> ASCII
    Par will13013 dans le forum C
    Réponses: 8
    Dernier message: 08/01/2003, 04h12

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