+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    mars 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : mars 2009
    Messages : 47
    Points : 13
    Points
    13

    Par défaut Affichage d'image dans PictureBox

    Salut a ts

    je veux afficher des images a partir d'un table stocker dans Sql Server mais je n'arrive pas a le faire car ces images sont stockées depuis longtemps dans ce table et je ne sais pas c'est quoi le problème


    NB:

    quand j'ai inséré une nouvelle image elle s'affiche dans PictureBox1 correctement

    voici mon code

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
     
     Dim imagetab As Byte() = dr(5) ' datareader : pour lire le champs ou se trouve l'image
      Dim base64String As String = Convert.ToBase64String(imagetab)
      Dim imagebytes As Byte() = Convert.FromBase64String(base64String)
      Dim memStream As MemoryStream = New MemoryStream(imagebytes, 0, imagebytes.Length)
       memStream.Write(imagebytes, 0, imagebytes.Length)
       Dim imagefinal As Image = Image.FromStream(memStream, True)
       PictureBox1.Image = imagefinal

    message d'erreur :
    Le paramètre n'est pas valide

  2. #2
    Membre éclairé
    Inscrit en
    février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : février 2010
    Messages : 291
    Points : 371
    Points
    371

    Par défaut

    Bonjour,

    Stocker une image dans une base de données c'est déjà pas une bonne idée ...

    La seule solution et de regarder en hexadécimal ce qui est stocké dans le champs. En fonction des première valeur on peut avoir une idée du format.

    Il est aussi possible que la personne qui a stocké ça n'ai stocké que la matrice de pixel sans le header.

    Peut-on avoir un exemple en hexa ?

  3. #3
    Candidat au titre de Membre du Club
    Inscrit en
    mars 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : mars 2009
    Messages : 47
    Points : 13
    Points
    13

    Par défaut

    ouiiii pourquoi pas
    j'ai oublié de postuler dans mon poste un exemple :


    le voila :

    0x151C2F00020000000D000E0014002100FFFFFFFF496D616765206(.........................

  4. #4
    Membre éclairé
    Inscrit en
    février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : février 2010
    Messages : 291
    Points : 371
    Points
    371

    Par défaut

    Bonjour c'est déjà pas un bmp.

    Avez vous la taille en octet de ce champs, ça permettrait de voir un peu plus loin, de même ce sont quels types d'image: Noir et blanc, 256 couleurs, true color ...

  5. #5
    Expert Confirmé Sénior Avatar de Graffito
    Inscrit en
    janvier 2006
    Messages
    5 842
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 5 842
    Points : 7 555
    Points
    7 555

    Par défaut

    Pour éliminer quelques formats:

    Image formats set their initial bytes to a particular value:
    ces images sont stockées depuis longtemps dans ce table

    A quoi correspondent ces images ?
    En quelle(s) année(s) ont-elles été créées ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Expert Confirmé Sénior Avatar de Pol63
    Homme Profil pro
    Développeur .NET / DBA SQL SERVER
    Inscrit en
    avril 2007
    Messages
    11 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET / DBA SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2007
    Messages : 11 353
    Points : 18 816
    Points
    18 816

    Par défaut

    Citation Envoyé par Geo2A Voir le message
    Stocker une image dans une base de données c'est déjà pas une bonne idée ...
    ??

    arguments ?

  7. #7
    Membre éclairé
    Inscrit en
    février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : février 2010
    Messages : 291
    Points : 371
    Points
    371

    Par défaut

    Bonjour

    A part le stockage de petites images de type bitmap 32*32 à travers un champs BLOB ou MEMO la technique la plus couramment utilisée et le stockage du chemin d'accès à l'image. Car les performances sont ralenties si l'on tente de stocker de grosses images. Seul des systèmes à cartouche spatiale (ORACLE, POSTGIS, (SQL SERVER 2008 je sais pas)) Tentent de proposer une telle fonctionnalité, et quand on voit l'usine à gaz et le coût ...(regardez le prix d'une licence ArcSDE).

  8. #8
    Candidat au titre de Membre du Club
    Inscrit en
    mars 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : mars 2009
    Messages : 47
    Points : 13
    Points
    13

    Par défaut

    bonjour

    quand je veux affiché les images dans crystal report elle s'affiche correctement aucun souci

  9. #9
    Expert Confirmé Sénior Avatar de Pol63
    Homme Profil pro
    Développeur .NET / DBA SQL SERVER
    Inscrit en
    avril 2007
    Messages
    11 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET / DBA SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2007
    Messages : 11 353
    Points : 18 816
    Points
    18 816

    Par défaut

    Citation Envoyé par Geo2A Voir le message
    Bonjour

    A part le stockage de petites images de type bitmap 32*32 à travers un champs BLOB ou MEMO la technique la plus couramment utilisée et le stockage du chemin d'accès à l'image. Car les performances sont ralenties si l'on tente de stocker de grosses images. Seul des systèmes à cartouche spatiale (ORACLE, POSTGIS, (SQL SERVER 2008 je sais pas)) Tentent de proposer une telle fonctionnalité, et quand on voit l'usine à gaz et le coût ...(regardez le prix d'une licence ArcSDE).

    oui donc on peut tout à fait mettre des images en base ^^

    déjà parce qu'on ne fait pas tous des applications qui ont besoin d'un temps de réponse exemplaire sur l'affichage d'une image

    et puis je pense qu'une image en binaire sur un varbinary ca ne fait pas plus de mal qu'un nvarchar(max) bien rempli, qui sur sql server sont stockés en dehors des pages et qui revient pour moi au même que d'avoir le fichier sur le disque et un pointeur vers le fichier

  10. #10
    Membre éclairé
    Inscrit en
    février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : février 2010
    Messages : 291
    Points : 371
    Points
    371

    Par défaut

    Bonjour,

    J'ai beau demander à Google .... ou alors j'ai pas le bon traducteur.

    Postant sur le "Club des professionnels de l'informatique" je tente de répondre comme un professionnel, maintenant si l'on analyse d'un peu plus près les notions de sauvegarde, crash/recovery cela fait encore d'autres arguments. Enfin il est vrai que maintenant hein, les TeraOctets ça ne coute rien et que la RAM n'est plus limitée à 64 Ko .... (enfin ma LUN de 9.5 To générée ce matin elle coûte pas 2 euros ...)

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •