cs_milo2009
Messages postés180Date d'inscriptionvendredi 4 juillet 2003StatutMembreDernière intervention 8 août 2011
-
3 avril 2006 à 23:30
mohamedfssi
Messages postés6Date d'inscriptionmardi 12 février 2008StatutMembreDernière intervention16 mai 2008
-
16 mai 2008 à 10:19
Salut,
J'ai developpé une application sous vb2005 pour pda. Le serveur envoie un tableau de bytes au pda.
Celui-ci recup le tab, instancie un flux stream avec, et charge une variable bitmap avec le flux.
Mon probleme est que le chargement de la variable bitmap avec le flux crée un execption éxecution.
Quelqu'un peut me dire comment faire, même si c'est par un autre moyen.
sebseb42
Messages postés495Date d'inscriptiondimanche 6 juillet 2003StatutMembreDernière intervention 9 novembre 20071 4 avril 2006 à 11:45
using System.IO;
...
public Bitmap BufferToImage(byte[] buffer)
{
MemoryStream ms = new MemoryStream(buffer);
Bitmap bmp = new Bitmap(ms)
return (bmp);
}
ceic fonctionne parfaitement si tant est que ton buffer est formater correctement et qu'il soit complet (qu'il contienne le header du format de fichier)
par exemple pour un fichier bmp, ceci fonctionne parfaitement :
MemoryStream ms = new MemoryStream
(buffer);
Bitmap img = new Bitmap
(ms);
ms.Close();
pictureBox1.Image = img;
on créer un buffer de la taille du fichier la place pour les 320 x 240 pixels, qui fonct chacun 3 octets (R, G et B) + 54 octets pour la taille de l'entete du format de fichier
on rempli le header (la j'ai mis en dure pour que tu puisse executer rapidement et constater le fonctionnement) mais il est tres facile de le generer automatiquement en fonction de l'image a instancier.
ensuite on copie le header dans le buffer (qui represente l'image finale) et c'est partit. On aura une image toute noire, mais pas d'exception :)
sebseb42
Messages postés495Date d'inscriptiondimanche 6 juillet 2003StatutMembreDernière intervention 9 novembre 20071 4 avril 2006 à 11:48
arf, pour repondre plus precisement a ta question, si tu as une exception, c'est que ton buffer est mal formater ou que le format d'image que tu envoie n'est pas reconnu par la classe Bitmap.