bonjour
j'ai un programme en C qui affiche une image bmp enregistré dans un compact flash.
je doit le modifier pour être capable d'affiche une image jpeg aussi. Quelle information je doit le changer dans le HEADER et INFOHEADER? Merci d'avance.
bonjour
j'ai un programme en C qui affiche une image bmp enregistré dans un compact flash.
je doit le modifier pour être capable d'affiche une image jpeg aussi. Quelle information je doit le changer dans le HEADER et INFOHEADER? Merci d'avance.
Il l'affiche comment, ton image bitmap? Avec les fonctions de l'API Windows?
Franchement, j'ai vaguement lu que l'API Windows supportait plus ou moins directement une image compressée en JPEG, mais tu auras peut-être plus vite-fait de passer par un code externe qui charge le JPEG dans un bitmap ordinaire (en restant dans Windows, je crois que GDI+ peut faire ça; cela aura l'avantage de supporter non seulement BMP et JPEG, mais tous les types supportés par GDI+).
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
bonjour
merci pour votre réponse.
le programme lire l'adresse de l'image fixer par l'utilisateur. puis lire la le header et l'infoheader de l'image. enfin il l'affiche . Je voudrais de modifier les infos de l'image pour le rend capable de lire une image jpeg.
Un fichier .jpg ne commence même pas par une structure BITMAPFILEHEADER, donc à mon avis tu auras plus vite fait d'utiliser GDI+: En C, GdipCreateBitmapFromFile() semble approprié pour obtenir facilement un bitmap affichable.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
est ce qu'il y'a des autres méthodes sans l'utilisation de GDI+ ???![]()
Peut-être utiliser libjpeg à la place? Mais ça ne supportera que les JPEG, et quand il faudra ajouter un nouveau type d'image à supporter, tout sera à refaire, alors que GDI+ supporte déjà tout ça.
Sous GDI+:
- GdipCreateBitmapFromFile() charge le fichier, effectue la conversion de JPEG (ou GIF, ou PNG...) à bitmap, et crée une structure Bitmap sur le tas (probablement un Type Abstrait de Données, comme FILE).
- GdipCreateHBITMAPFromBitmap() te retourne le HBITMAP pour utiliser avec GDI normal.
- GdipBitmapLockBits() te prête directement un buffer contenant les données du bitmap sous le format que tu veux. Que demander de plus?
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Ne pas oublier de détruire tout ce que tu crées, et de délocker tout ce que tu lockes, naturellement.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager