Conversion tableau de byte en image jpeg [Résolu]

Messages postés
71
Date d'inscription
mardi 4 novembre 2008
Dernière intervention
26 août 2009
- 13 janv. 2009 à 14:54 - Dernière réponse :
Messages postés
7
Date d'inscription
dimanche 9 décembre 2007
Dernière intervention
20 février 2011
- 19 févr. 2011 à 22:55
salut à tous

voila je recupere une image qui est stockée sur sql server en format image, je l'affecte a un tableau de byte (byte [] ) mais je ne vois pas comment convertir ce tableau en image jpg ...
Pourriez vous m'aider svp??!!!
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
- 13 janv. 2009 à 15:11
1
Merci
A tout hasard (car je n'ai jamais testé ^^), tu peux essayer le code suivant, il ne doit pas être loin de la vérité:MemoryStream ms new MemoryStream(tab); //using System.IO & tab tableau de byte
Image img = Image.FromStream(ms); //using System.Drawing
pictureBox1.Image = img; // avec pictureBox1 objet PictureBox que tu auras déposé sur ta Form

Bonne après midi,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Merci billou_13 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de billou_13
Meilleure réponse
Messages postés
71
Date d'inscription
mardi 4 novembre 2008
Dernière intervention
26 août 2009
- 14 janv. 2009 à 10:23
1
Merci
salut
merci pour toutes vos réponses
oui aprés de convertir le tableau de byte en une image je veux ensuite l'afficher à partir d'un site web.

Merci laymouna98 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de laymouna98
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 13 janv. 2009 à 15:27
0
Merci
j'ai déjà fait une source la dessus... ou presque !

http://www.csharpfr.com/codes/CONVERSION-IMAGE-BASE64STRING-INVERSEMENT_33379.aspx

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
Messages postés
71
Date d'inscription
mardi 4 novembre 2008
Dernière intervention
26 août 2009
- 13 janv. 2009 à 15:30
0
Merci
Merci Billou_13
j'ai trouver aussi ce code, mais mon problème c'est comment savoir que img est de type jpeg ??
Commenter la réponse de laymouna98
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Dernière intervention
10 juin 2010
- 13 janv. 2009 à 15:35
0
Merci
tu dois sauver le mime type dans la db dans un champ text normal
tu ne sais pas le savoir autrement
Commenter la réponse de GillouXman
Messages postés
71
Date d'inscription
mardi 4 novembre 2008
Dernière intervention
26 août 2009
- 13 janv. 2009 à 15:38
0
Merci
tu dois sauver le mime type dans la db dans un champ text normal
tu ne sais pas le savoir autrement





désolé, je n'est pas compris
Commenter la réponse de laymouna98
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Dernière intervention
10 juin 2010
- 13 janv. 2009 à 15:50
0
Merci
sorry

ce que je veux dire plus simplement c'est que tu ne sais pas savoir le type du fichier si tu as seulement son tableau de byte, tu as obligé de spécifier quelque part que tel fichier est de tel type.

typiquement en db

tu sauveras ton image, le titre de ton image, son type (extension)
Commenter la réponse de GillouXman
Messages postés
71
Date d'inscription
mardi 4 novembre 2008
Dernière intervention
26 août 2009
- 13 janv. 2009 à 15:59
0
Merci
ah, ok merci
Commenter la réponse de laymouna98
Messages postés
153
Date d'inscription
vendredi 9 août 2002
Dernière intervention
18 septembre 2009
- 13 janv. 2009 à 16:16
0
Merci
Bonjour,

Je ne pense pas que sauvegarder le type d'image dans la bdd soit nécessaire, puisque Image.FromStream() ne nécessite pas de format d'image pour la lire.
Ce que tu peux essayer :

byte[] tableau; //Tu récupère ton tableau de bytes
Image image;
using(MemoryStream ms = new MemoryStream(tableau))
{
  image = Image.FromStream(ms);
}
//Fin du code

Si ça ne marche pas, c'est que ton image n'est pas enregistrée comme fichier dans ton champ.
Commenter la réponse de maitredede
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Dernière intervention
10 juin 2010
- 13 janv. 2009 à 16:21
0
Merci
je n'ai pas dit que c'était nécessaire

je dis pour plus tard si tu veux la réouvrir par exemple

disons que tu fais un generic handler qui va chercher ton binary dans la db, c'est bien de pouvoir spécifier le type de fichier dans le mime du response pour que le fichier soit reconnu par le navigateur qui peut éventuellement ouvrir la bonne application
Commenter la réponse de GillouXman
Messages postés
153
Date d'inscription
vendredi 9 août 2002
Dernière intervention
18 septembre 2009
- 13 janv. 2009 à 16:39
0
Merci
Effectivement, si le but est de pouvoir afficher l'image à partir d'un site web il faut conserver le type MIME si on ne veut pas reconvertir l'image à chaque fois...

Par contre, si je m'en réfère à la question d'origine, la question est un peu floue...
Si j'ai bien compris, c'est transformé le tableau de byte récupérer depuis la base de donnés, le convertir en objet System.Drawing.Image puis le sauvegarder sur disque au format jpeg ?

La conversion du tableau de byte en Image est décrite dans mon post précédent.
Ensuite, la sauvegarde c'est :
image.Save("C:\\a.jpg", ImageFormat.Jpg);
Commenter la réponse de maitredede
Messages postés
7
Date d'inscription
dimanche 9 décembre 2007
Dernière intervention
20 février 2011
- 19 févr. 2011 à 22:55
Commenter la réponse de kakamo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.