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 :

Creer une image a partir d un tableau de byte et la renvoyer dans un flux


Sujet :

C#

  1. #1
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut Creer une image a partir d un tableau de byte et la renvoyer dans un flux
    Bonjour,

    Pour les besoins de mon application je cree une image a l'aide d'un tableau de bit et je cherche a la renvoyer dans le flux de sortie de mon application.

    Quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Bitmap m_objBitmap = new Bitmap(150, 150);
     
            m_objBitmap.Save(this.Context.Response.OutputStream, ImageFormat.Gif);
    Je récupère bien une image (un carre noir de 150/150);


    Quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    byte[] image = (image provenant d une url);
    Stream s = new MemoryStream();
            int numBytesToRead = image.Length;
     
            s.Write(image, 0, numBytesToRead);
            Bitmap manouvelleimage = new Bitmap(s);
            s.Close();
    manouvelleimage .Save(this.Context.Response.OutputStream, ImageFormat.Gif);
    [/CODE]

    J'obtiens
    Une erreur générique s'est produite dans GDI+.
    Pourtant j'ai vérifié j'ai bien une image de 480/90 dans manouvelleimage ...

    :s

    Si quelqu'un avait une petite idee?

    Merci,

  2. #2
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Points : 330
    Points
    330
    Par défaut
    J'ai trouve

    Il faut fermer le stream apres l'envoye de l'image

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    byte[] image = (image provenant d une url);
    Stream s = new MemoryStream();
    int numBytesToRead = image.Length;
     
    s.Write(image, 0, numBytesToRead);
    Bitmap manouvelleimage = new Bitmap(s);
    
    manouvelleimage .Save(this.Context.Response.OutputStream, ImageFormat.Gif);
    
    manouvelleimage.dispose();
     s.Close();

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

Discussions similaires

  1. creer une image a partir de plusieurs
    Par ziinou dans le forum Java ME
    Réponses: 5
    Dernier message: 11/03/2009, 15h33
  2. reconstitution d'une image a partir d'un tableau de bytes
    Par guian dans le forum Entrée/Sortie
    Réponses: 17
    Dernier message: 04/12/2008, 17h54
  3. [Image]Créer une image à partir de deux
    Par mic79 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 20/04/2006, 14h18
  4. [Conception] Construire une image à partir d'un tableau
    Par jacques_henry dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 07/02/2006, 15h53
  5. [Image] Comment créer une image à partir d'un fichier
    Par mereyj dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 01/07/2005, 22h48

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