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

C# Discussion :

Comment transformer un tableau d'octets en image ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    295
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 295
    Par défaut Comment transformer un tableau d'octets en image ?
    Bonjour,

    j'ai réussie de récupérer une image à partir d'une BdD Oracle à l'aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte[] image=(byte[])req["photo"];
    et je veux que mon image sera transformé en jpeg et enregistré dans mon disque comme fichier jpeg.

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Création d'un flux en mémoire (MemoryStream) pour gérer le tableau d'octets.
    Ensuite création d'un objet Image à partir du flux en mémoire (Image.FromStream).
    Pour finir sauvegarde de l'image sur le disque (Image.Save).

  3. #3
    Membre confirmé Avatar de deejay2221
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 98
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        byte[] image=(byte[])req["photo"];
        MemoryStream ms = new MemoryStream(image);
        Bitmap bmp= new Bitmap(ms);
        bmp.Save(@"C:\fichier.jpg", ImageFormat.Jpeg);

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Autant juste faire si c'est pour sauvegarder le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    byte[] image=(byte[])req["photo"];
    using(FileStream fs = File.Create(path)) {
       fs.Write(image, 0, image.Length);
    }

  5. #5
    Membre confirmé Avatar de deejay2221
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 98
    Par défaut
    Citation Envoyé par Kaidan Voir le message
    Autant juste faire si c'est pour sauvegarder le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    byte[] image=(byte[])req["photo"];
    using(FileStream fs = File.Create(path)) {
       fs.Write(image, 0, image.Length);
    }
    Ça fonctionne si tu veux garder le fichier dans le même format, mais si tu veux convertir le format en jpg, tu dois passer par la classe bitmap en ajoutant le paramètre ImageFormat.Jpeg

  6. #6
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    J'y ai pensé Kaidan, mais comme il parle de transformer l'image en jpeg, je me dis qu'à la base les données ne sont pas forcément celles d'une image au format jpeg.

    Mais bon, il devrait avoir sa réponse de toute façon ^^

    Pour compléter le code fourni par deejay2221, en ajoutant la libération des ressources pour faire ça propre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    byte[] image=(byte[])req["photo"];
    using(MemoryStream ms = new MemoryStream(image))
    {
        using(Bitmap bmp = new Bitmap(ms))
        {
            bmp.Save(@"C:\fichier.jpg", ImageFormat.Jpeg);
        }
    }

  7. #7
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    295
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 295
    Par défaut
    Merci c résolu

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/03/2013, 12h20
  2. Comment transformer ce tableau vers un diagramme
    Par nidhal fekih dans le forum Excel
    Réponses: 4
    Dernier message: 01/11/2010, 14h53
  3. Comment transformer un tableau XHTML en fichier Excel
    Par JLC83 dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 12/08/2010, 15h00
  4. Réponses: 6
    Dernier message: 16/02/2006, 14h40

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