Accueil > Forum > > > > [C] Impossible de lire le contenu d'une image png
[C] Impossible de lire le contenu d'une image png
vendredi 12 mai 2006 à 03:21:12 |
[C] Impossible de lire le contenu d'une image png

JMGR
|
Bonjour à tous, j'ai un petit problème : Je veut transférer une image png d'un client vers un serveur. Seulement lorsque je tente de lire le contenu du fichier.png avec fread il ne lit que 8 caractères... (soit l'entête du fichier png) Pourtant le fichier fait 6 ko et quand je veut savoir la taille du fichier avec fseek et ftell il me donne 6000, ce qui est correct. J'ai tenté l'opération avec les fonctions intégrées à wxWidgets mais avec le même résultat. Une solution serait d'utiliser la librairie png pour lire le fichier et ne transférer que les valeurs des pixels mais je trouve cela un peu bête puisque le serveur devra de toute facon recréer un fichier png... Spécifications : Compilateur - Gcc IDE - Code::Blocks OS - Windows XP Merci d'avance, Jmgr 
|
|
vendredi 12 mai 2006 à 09:44:56 |
Re : [C] Impossible de lire le contenu d'une image png

BruNews
|
Regarde le second param de fopen.
ciao... BruNews, MVP VC++
|
|
vendredi 12 mai 2006 à 13:53:32 |
Re : [C] Impossible de lire le contenu d'une image png

JMGR
|
Oui pardon j'ai oublié de préciser que je l'ouvre en mode binaire, donc mon fopen ressemble à ca : fopen("image.png", "rb");
|
|
vendredi 12 mai 2006 à 13:56:35 |
Re : [C] Impossible de lire le contenu d'une image png

BruNews
|
ensuite fais un fread dans un buffer.
ciao... BruNews, MVP VC++
|
|
vendredi 12 mai 2006 à 16:36:56 |
Re : [C] Impossible de lire le contenu d'une image png

JMGR
|
Bon je poste mon code ca sera plus simple...
FILE * fp = 0; fp = fopen("image.png", "rb"); char buffer[10000] = ""; fread(&buffer, 1, 500,fp); fclose(fp);
Et donc là il ne copie que 8 caractères dans le buffer, alors que le fichier fait 6 ko...
|
|
vendredi 12 mai 2006 à 16:38:13 |
Re : [C] Impossible de lire le contenu d'une image png

JMGR
|
Et le fichier de base a été créé avec le même PC dont ca ne peut pas venir de l'indianess du proc.
|
|
vendredi 12 mai 2006 à 17:29:25 |
Re : [C] Impossible de lire le contenu d'une image png

BruNews
|
tu es certain que tu n'as que 8 octets ???
ciao... BruNews, MVP VC++
|
|
vendredi 12 mai 2006 à 18:00:35 |
Re : [C] Impossible de lire le contenu d'une image png

JMGR
|
Si je fait strlen(buffer) il me renvoie 8 et si je l'affiche avec printf("%s", buffer) il ne m'affiche que les 8 premiers caractères (octets ?) du fichier.
Peut être que char n'est pas le bon type pour stocker des données binaire ?
|
|
vendredi 12 mai 2006 à 18:10:56 |
Re : [C] Impossible de lire le contenu d'une image png

BruNews
|
strlen(), non mais franchement dis moi donc ce que fait strlen, ça te fera un peu réfléchir.
ciao... BruNews, MVP VC++
|
|
vendredi 12 mai 2006 à 18:37:18 |
Re : [C] Impossible de lire le contenu d'une image png

nightlord666
|
IL NE FAUT PAS UTILISER STRLEN ! En effet, strlen te renvoie le nombre d'octets jusqu'à un octet égal à 0. Il suffit qu'il y en ait un dans ton png (ce qui est fort probable), et strlen ne fonctionne pas. Utilise plutôt ceci :
#define chDIMARRAY(arr) (sizeof(arr) / sizeof(arr[0]))
(Code provenant du bouquin de Jeffrey Richter, appendice A)
Ou plus simple(car ce sont des unsigned char): sizeof(arr)
|
|
Cette discussion est classée dans : fichier, lire, image, contenu, png
Répondre à ce message
Sujets en rapport avec ce message
lire le contenu d'un fichier en C++ [ par julien20vt ]
Je développe sous visual C++, je voudrais lire le contenu d'un fichier et le recopier dans un autre, par contre il ne faut pas que j'utilise le type
lire le contenu d'un fichier tel qu'il est [ par ibti25 ]
Bonjour,Je m'arrive pas a afficher le contenu de mon fichier comme il est au niveau d'un terminal.Ce que me fait mon code (cidessous), c'est un affich
Image CD [ par Benji8892 ]
Salut, j'aurais voulu savoir comment lire un cd du secteur 0 piste 0 au dernier secteur, derniere piste et ainsi mettre tous les octets dans un seul f
Lire un fichier texte [ par isirnet ]
bonjour comment faire pour parcourir le contenu du disque (c:), selectionner un fichier texte, et recuperer le contenu de ce fichier dans une variable
Comment faire pour lire un fichier .txt, et afficher son contenu dans un control CRichEditView [ par isirnet ]
format avi [ par ZaRMaS ]
Salut a tous, Dans le cadre d un projet developpe en C je voudrai lire le header d un fichier avi. j esperai pouvoir faire comme pour lire un fichier
Ouvrie et lire le contenu d'un fichier(débutant inside) [ par psicoblues ]
Bonjour, voilà je me lance dans le monde du dévelopement avec pour langage le C.J'ai installé un turbo C sur un MS-DOS 6.2, sur un vieux Pentium.Pour
lire un fichier en C dont je ne connait pas l'extension [ par benrad ]
Bonjourj'ai un fichier avec une extension .dldje suis en train de bosser sur une dll en CJ'aurais voulu savoir comment je pouvais stocker le contenu d
afficher le contenu d'une image.h dans son .exe [ par wargore ]
Bonsoir à tous!Je suis à recherche d'une aide précieuse :p qui poura me débloquer dans mon code.Tout d'abord j'ai un code principal qui contient: ----
Affichage d'une image avec SDL.. dans un fichier d'image [ par smasher81 ]
Allo!J'ai commencé à regarder la lib SDL.. et je me suis demander, après avoir fait plusieurs testes sur l'affichage de .bmp si s'était possible de m
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|