little_fof
Messages postés12Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention12 août 2008
-
1 août 2008 à 10:44
little_fof
Messages postés12Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention12 août 2008
-
12 août 2008 à 15:53
little_fof
Messages postés12Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention12 août 2008 1 août 2008 à 10:47
Je suis désolé si ça fait doublon, j'ai fait valider mais j'ai l'impression que rien ne s'affiche dans le corps de mon message.
Bonjour,
Je suis en train de m'arracher les cheveux à essayer de sauvegarder correctement un bitmap dans une base ACCESS 2003.
Quand je fait un drag&drop de mon bitmap(24bpp) dans un champs type OLEDB OBJECT de la base il reconnait dessuite que c'est un bitmap "Image Bitmap". mais quand je l'insère dans la base avec mes DAO, il apparait un "Long Binary Data" qui semble t'il n'as plus rien à voir avec mon bitmap puisque quand je récupère ce byte[] converti en bitmap rien ne va.
J'ai déjà essayer plusieurs technique mais chaque fois j'ai l'impression que ce qui est enregistrer dans la DB est diffèrent de ce que je lui passe.
ex :
Quand je converti mon bitmap en byte[] avant de l'inserer dans la DB, le byte[] a une taille du genre 50000+ et quand je le get depuis la base il ne fait plus que ~30
Si je converti ce meme byte[] en bitmap que je sauvegarde sur le "C:\\test.bmp" et que je pousse à la base
new Bitmap("C:\\test.bmp") il sauvegarde en "long binary data" , mais si je drag&drop le fichier il reconnait le fichier "Image Bitmap" qui est ensuite accessible correctement en lecture.
cs_coq
Messages postés6350Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 2 août 2008 à 23:28
Hum non en relisant la question je crois que je l'ai mal comprise : si le problème est de transformer une image stockée dans Access en Bitmap alors c'est une piste, sinon non.
little_fof
Messages postés12Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention12 août 2008 3 août 2008 à 12:55
Salut Coq,
Tu as raison il faut ignorer les 78 premiers bytes pour un type bitmap et ça je l'ai fait, d'ailleurs tu comprendras pourquoi sa pause problème lorsque je ne récupère finalement de la base qu'un byte[30].
imageData = (byte[])selectCommand.ExecuteScalar();
myConnection.Close();
ms = new MemoryStream();
ms.Write(imageData,78,imageData.Length-78);
//et la ca péche puisque imagedata[].lenght = 30.alors que le imagedata[] que j'ai inséré en base faisait ~50000
bitmap = new Bitmap(ms);
Je comprend pas comment c'est possible....
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?