Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1714 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [MFC] Bitmap

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[MFC] Bitmap

n°1010308
dickymoe
Posté le 11-03-2005 à 23:24:11  profilanswer
 

Bonjour, je souhaite afficher une image que je charge avec le MFC mais ji arrive vraiment pas !!
Je charge limage(limage est sous la forme RGBRGBRGB...) :  

Code :
  1. ifstream file("res/lenna.ppm",ios::in | ios::binary);
  2. if(file)
  3. {
  4. string t;
  5. int nc,nl;
  6. file>>t>>nc>>nl>>t;
  7. unsigned char *data(new unsigned char[nc*nl*3]);
  8. file.read((char*)data,nc*nl*3);
  9. CPaintDC dc(this); // contexte de périphérique pour la peinture
  10. CBitmap Bitmap;
  11. CDC MemDC;
  12. //Bitmap.LoadBitmap(IDB_BITMAP1); // lecture bitmap dans les ressources
  13. if(Bitmap.CreateBitmap(nc,nl,3,8,sImage))
  14. AfxMessageBox("okk" );
  15. else
  16. AfxMessageBox("fé chier" );
  17. BITMAP InfosBmp; // structure d'informations.
  18. Bitmap.GetBitmap(&InfosBmp);
  19. MemDC.CreateCompatibleDC(&dc);// creation d'un DC en memoire
  20. MemDC.SelectObject(&Bitmap); // selection du bitmap dans le DC en  
  21. // transfert final du bitmap dans le dc de la view.
  22. dc.BitBlt( 0,0,InfosBmp.bmWidth, InfosBmp.bmHeight,&MemDC,0,0,SRCCOPY);
  23. delete data;
  24. }


 
Mais cela ne marche pas !! pouvez vous me dire pourquoi et comment faire ca seré cool !
 
Merci
 

mood
Publicité
Posté le 11-03-2005 à 23:24:11  profilanswer
 

n°1010337
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 11-03-2005 à 23:47:31  profilanswer
 

tu dessines dans quoi là ? un CPictureBox ? c'est le CPaintDC de quoi que tu utilises ?


Message édité par Harkonnen le 11-03-2005 à 23:48:07

---------------
J'ai un string dans l'array (Paris Hilton)
n°1010471
dickymoe
Posté le 12-03-2005 à 09:28:44  profilanswer
 

La je suis dans la fonction onPaint de ma boite de dialogue !!

n°1010476
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-03-2005 à 09:41:30  profilanswer
 

utilise la fonction LoadImage() pour charger l'image, passer par un ifstream ne marchera pas


---------------
J'ai un string dans l'array (Paris Hilton)
n°1010496
dickymoe
Posté le 12-03-2005 à 10:19:35  profilanswer
 

Comment ca se fait ? car la fonction CreateBitmap existe je voit pas pourquoi !  
le probleme est que mon image ke je veut lui faire afficher sera toujours un tableau 1d de unsigned char !!!
 
Par exemple la je laod une image ppm donc je pense pas que loadImage me permette de charger ce type de format !!


Message édité par dickymoe le 12-03-2005 à 10:20:02
n°1010500
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-03-2005 à 10:33:41  profilanswer
 

dickymoe a écrit :

Comment ca se fait ? car la fonction CreateBitmap existe je voit pas pourquoi !


parce que c'est comme ça !
pour charger une image à partir d'un fichier, y'a une fonction qui s'appelle LoadImage(), donc il faut l'utiliser, à moins que tu sois capable de décoder et d'afficher octet par octet les différents formats d'images !
quant à CreateBitmap(), ça n'a rien à voir : ça sert à intialiser des bitmaps en mémoire, mais ils ne contiennent aucune donnée
http://msdn.microsoft.com/library/ [...] dimage.asp
 

dickymoe a écrit :


le probleme est que mon image ke je veut lui faire afficher sera toujours un tableau 1d de unsigned char !!!


oui et alors ?
 

dickymoe a écrit :


Par exemple la je laod une image ppm donc je pense pas que loadImage me permette de charger ce type de format !!


tu ferais mieux d'utiliser un autre format d'image


---------------
J'ai un string dans l'array (Paris Hilton)
n°1010501
dickymoe
Posté le 12-03-2005 à 10:36:58  profilanswer
 

tu peut pas de donner un exemple de construction de bitmap a partir du UCHAR[] (puis lafficher si possible) !
 
car la jé regardé mais ej voit pas comment faire !!

n°1010507
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-03-2005 à 10:46:45  profilanswer
 

t'as du mal toi hein...  
tu connais la notion de format d'image ? en gros, chaque image est formatée selon un format précis (BMP, JPG, etc...) à des fins de compression la plupart du temps.
si tu remplis un tableau de UCHAR avec ces données, tu obtiendras les données "brutes" de l'image, c'est à dire incompréhensibles et inaffichables sans décodage.
ce décodage est effectué par LoadImage(), donc ta méthode n'est pas la bonne .|


---------------
J'ai un string dans l'array (Paris Hilton)
n°1010511
dickymoe
Posté le 12-03-2005 à 11:15:51  profilanswer
 

on va se calmer papie ! Tu me prend pour koi ? je commence en MFC mais pas en imagerie !!  
 
pour faire du traitement dimage on traite les données, les décoder et obtenir le tableau de pixel ca ji arrive suis pa si neuneu ke ca !
 
mon probleme c laffichage ! par le récuperation des donnée !

n°1010522
Mr Mala
Posté le 12-03-2005 à 11:40:19  profilanswer
 

Il y a un truc qui me tracasse dans le chargement de ton PPM ...
Dans une doc sur ce format, je vois que les triplets RGB sont au format 'r[espace]g[espace]b[return ou tab ou espace](triplet suivant)...etc etc' ...
Mais tu ouvres ton fichier en mode binary ..
Ta fonction 'file.read((char*)data,nc*nl*3);' va lire le fichier byte par byte et le foutre dans ton tableau data ... incluant tous les caractères du fichier même ceux qui n'ont rien à voir avec les triplets RGB !
non ?
En plus, où utilise-tu ton tableau data après la lecture ???
 

mood
Publicité
Posté le 12-03-2005 à 11:40:19  profilanswer
 

n°1010530
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-03-2005 à 12:21:16  profilanswer
 

dickymoe a écrit :

on va se calmer papie ! Tu me prend pour koi ? je commence en MFC mais pas en imagerie !!


c'est toi qui va te calmer, si tu n'as pas envie de te retrouver chez les télétubbies et ton topic effacé, hein [:heink]
 

dickymoe a écrit :


mon probleme c laffichage ! par le récuperation des donnée !


mais borné jusqu'au bout hein....
je te le répète une dernière fois : si tu récupères les données en binaire brut, tu n'afficheras rien du tout !!!
 

Mr Mala a écrit :


Ta fonction 'file.read((char*)data,nc*nl*3);' va lire le fichier byte par byte et le foutre dans ton tableau data ... incluant tous les caractères du fichier même ceux qui n'ont rien à voir avec les triplets RGB !
non ?


si, c'est ce que je me tue à lui dire depuis le début :spamafote:
 

dickymoe a écrit :


En plus, où utilise-tu ton tableau data après la lecture ???


je suppose qu'il avait un peu de RAM en trop [:ddr555]


Message édité par Harkonnen le 12-03-2005 à 12:21:31

---------------
J'ai un string dans l'array (Paris Hilton)
n°1010566
dickymoe
Posté le 12-03-2005 à 13:01:57  profilanswer
 

Pour la lecture de se fichier faite mon confiance elle est bonne (si vous voulé pas entierement car le premier caractère est incorrecte bref je c pk mé la né pa le probleme) !
 
Il y a deux format de ppm, le P5 etle P6 (normalement) ! moi c du P6 ou il y a l'entete style :
P6
256 256
255
RGBRGBRGBRGB... et les RGBRGBRGB est tt a la suite et en binaire !!
 
la lecture de nimporte kel format je m'en fou je veut pouvoir afficher une bitmap a partir d' UCHAR* dans lekel ya rgrgbrgb a la suite !

n°1010569
KangOl
Profil : pointeur
Posté le 12-03-2005 à 13:06:10  profilanswer
 

le format P5 c'est pas du ppm mais du pgm :o


---------------
Nos estans firs di nosse pitite patreye...
n°1010570
Mr Mala
Posté le 12-03-2005 à 13:06:35  profilanswer
 

dickymoe a écrit :

Pour la lecture de se fichier faite mon confiance elle est bonne (si vous voulé pas entierement car le premier caractère est incorrecte bref je c pk mé la né pa le probleme) !
 
Il y a deux format de ppm, le P5 etle P6 (normalement) ! moi c du P6 ou il y a l'entete style :
P6
256 256
255
RGBRGBRGBRGB... et les RGBRGBRGB est tt a la suite et en binaire !!
 
la lecture de nimporte kel format je m'en fou je veut pouvoir afficher une bitmap a partir d' UCHAR* dans lekel ya rgrgbrgb a la suite !


 
Oui d'accord ok tu utilises une ppm format binaire ( information que tu n'avais pas donné ! [:spamafote] )
 
Maintenant, réponds à ma question : où utilises-tu 'data' ???


Message édité par Mr Mala le 12-03-2005 à 13:07:28
n°1010572
dickymoe
Posté le 12-03-2005 à 13:10:44  profilanswer
 

Excuse moi jé oublié de répondre a ta question  :wahoo:  
en faite dans le code mit ya une erreur je lutilise a la place de sImage dans CreateBitmap

n°1010573
KangOl
Profil : pointeur
Posté le 12-03-2005 à 13:10:57  profilanswer
 

Citation :

ifstream file("res/lenna.ppm",ios::in | ios::binary);


 
tu connais l'imagerie numérique mais tu commence apparement :D
 
et puis "lenna n'est pas bonne :o" (© Axel)


---------------
Nos estans firs di nosse pitite patreye...
n°1010577
dickymoe
Posté le 12-03-2005 à 13:19:52  profilanswer
 

Citation :

tu connais l'imagerie numérique mais tu commence apparement :D


 
pourquoi ?

n°1010580
KangOl
Profil : pointeur
Posté le 12-03-2005 à 13:23:00  profilanswer
 

lenna est la premiere image que l'on traite parce qu'elle est historiquement connue mais franchement on sait pas faire grand chose avec :o


---------------
Nos estans firs di nosse pitite patreye...
n°1010588
dickymoe
Posté le 12-03-2005 à 13:37:23  profilanswer
 

la né pas le probleme !! ce ke je veut c afficher cette image ou une autre !!

n°1010590
KangOl
Profil : pointeur
Posté le 12-03-2005 à 13:40:08  profilanswer
 

bha lis les réponses qu'on t'a donné !!


Message édité par KangOl le 12-03-2005 à 13:40:20

---------------
Nos estans firs di nosse pitite patreye...
n°1010593
skeye
Posté le 12-03-2005 à 13:47:27  profilanswer
 

KangOl a écrit :

lenna est la premiere image que l'on traite parce qu'elle est historiquement connue mais franchement on sait pas faire grand chose avec :o


[:kiki]


---------------
Can't buy what I want because it's free -
n°1010594
KangOl
Profil : pointeur
Posté le 12-03-2005 à 13:48:55  profilanswer
 

plait-il ?


---------------
Nos estans firs di nosse pitite patreye...
n°1010596
skeye
Posté le 12-03-2005 à 13:49:57  profilanswer
 


Qu'est-ce que tu veux faire qui n'ets pas faisable avec lenna? [:itm]


---------------
Can't buy what I want because it's free -
n°1010597
KangOl
Profil : pointeur
Posté le 12-03-2005 à 13:53:15  profilanswer
 

bha essaye kirsh, les résultats sont pas tres parlants :/


---------------
Nos estans firs di nosse pitite patreye...
n°1010600
skeye
Posté le 12-03-2005 à 13:58:55  profilanswer
 

Ca fonctionne, non? Le résultat est peut-être pas utile, mais il existe...:o
Bref, perso j'utilise quasiment toujours lenna pour faire des tests de ce que je code...
Je vois pas en quoi ça voudrait dire qu'il commence tout juste l'imagerie numérique ou quoi que ce soit par rapport à ses compétences. [:skeye]


---------------
Can't buy what I want because it's free -
n°1010601
KangOl
Profil : pointeur
Posté le 12-03-2005 à 13:59:07  profilanswer
 

bon, mauvais exemple avec kirsh (ca fait longtemps...)
 
http://img71.exs.cx/img71/9882/lena_kirsh.th.png


---------------
Nos estans firs di nosse pitite patreye...
n°1010603
skeye
Posté le 12-03-2005 à 14:00:33  profilanswer
 

[:rofl]


---------------
Can't buy what I want because it's free -
n°1010605
KangOl
Profil : pointeur
Posté le 12-03-2005 à 14:02:44  profilanswer
 

ho ca va :o


---------------
Nos estans firs di nosse pitite patreye...
n°1010634
masklinn
í dag viðrar vel til loftárása
Posté le 12-03-2005 à 14:40:13  profilanswer
 

KangOl a écrit :

bon, mauvais exemple avec kirsh (ca fait longtemps...)
 
http://img71.exs.cx/img71/9882/lena_kirsh.th.png


Ca donne quand même un truc bizarre, on a l'impression que ce qui est dans la réalité son épaule droite (et qui est devant son menton) est (après kirsh) sont épaule gauche, et est contre le mirroir.
 
Ca donne l'illusion qu'elle a un super long coup tendu vers l'avant [:moule_bite]  
(avec les cheveux qui donnent une espèce d'illu "coup de giraffe)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1010645
Mr Mala
Posté le 12-03-2005 à 14:45:28  profilanswer
 

masklinn a écrit :

Ca donne quand même un truc bizarre, on a l'impression que ce qui est dans la réalité son épaule droite (et qui est devant son menton) est (après kirsh) sont épaule gauche, et est contre le mirroir.
 
Ca donne l'illusion qu'elle a un super long coup tendu vers l'avant [:moule_bite]  
(avec les cheveux qui donnent une espèce d'illu "coup de giraffe)


 
Par contre, je ne connaissais pas l'original  
http://www.tecn.upf.es/~emeinhardt/lenna_original.jpg
:D

n°1010668
KangOl
Profil : pointeur
Posté le 12-03-2005 à 15:18:19  profilanswer
 

tiens moi non plus !


---------------
Nos estans firs di nosse pitite patreye...
n°1010670
Mr Mala
Posté le 12-03-2005 à 15:20:06  profilanswer
 

KangOl a écrit :

tiens moi non plus !


 
.. et du coup qu'elle était playmate novembre 1972 ..
http://en.wikipedia.org/wiki/Lenna

n°1010672
KangOl
Profil : pointeur
Posté le 12-03-2005 à 15:21:33  profilanswer
 

Mr Mala a écrit :

.. et du coup qu'elle était playmate novembre 1972 ..
http://en.wikipedia.org/wiki/Lenna


ca par contre je savait
photo scannée depuis un playboy :D


---------------
Nos estans firs di nosse pitite patreye...
n°1010674
dickymoe
Posté le 12-03-2005 à 15:24:42  profilanswer
 

ya son site www.lenna.org pour ce ki veullent ya encore une autre image pas mal ;) !!
 
en attandant jarrive toujours pas a afficher ce p$^"'ù de tableau de UCHAR

n°1011222
dickymoe
Posté le 13-03-2005 à 15:04:58  profilanswer
 

Bon je vais allé me renseigner sur un autre forum car vous mavé pas franchement aidé !!

n°1011225
Mr Mala
Posté le 13-03-2005 à 15:12:37  profilanswer
 

[:spamafote] si tu avais écouté ce qu'on t'a dit dans les première réponses ........ tu ne l'as pas fait, c'est parti en couille .. c'est normal .......

n°1011465
dreamkille​r
Posté le 13-03-2005 à 19:53:27  profilanswer
 

dickymoe number 1 sur les boulets  ;)


Message édité par dreamkiller le 13-03-2005 à 19:54:07
n°1135429
dickymoe
Posté le 30-06-2005 à 09:32:43  profilanswer
 

C vous les boulets vous savez meme pas répondre a une question vous préferez contournez le sujet, alors faites pas croire kon vous savez des trucs ! Quand on c pas répondre on ferme sa guele !! Hein les loks ?

n°1135646
slash33
Posté le 30-06-2005 à 11:45:30  profilanswer
 

Je profite du fil (puisque c'est en rapport avec les Bitmaps et MFC donc):
 
Pourquoi quand j'utilise un CImageList sur un bitmap 24 bits ou 256 couleurs, le rendu avec CImageList.Draw() se fait en 16 couleurs (dégradées qui plus est). Quelque chose lié à la palette?
 
Par contre si je fais un CBitmap.LoadBitmap() suivi d'un CDC.BitBlt() le résultat est OK.
 
Explications SVP?
 
Harkonnen: as tu jeté un coup d'oeil à mon post sur DDX/DDV? Si tu ne souhaites pas continuer le fil, dis le moi STP.


Message édité par slash33 le 30-06-2005 à 11:47:29
n°1136102
pounousss
Posté le 30-06-2005 à 15:56:39  profilanswer
 

Je suis d'accord avec dickymoe, vous êtes vraiment des boulets !!!
Vous avez franchement rien compris.
Mais ce que je préfère c'est quand vous lui dites que c'est un
débutant. Ce qui à mon avis, n'est pas tout à fait le cas. Le débutant
n'est pas celui qu'on croit ici !  :pt1cable:
 
T'as bien raison dickymoe, change de forum, ici y a qu'des merdes !!!

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [MFC] Bitmap

 

Sujets relatifs
avicap sans une GUI MFC[MFC] Problème avec GetDocument()
Taille fixe des fenetres en MFC ??Graphique en C/C++ avec MFC
[MFC/VC++] Problème de pointeur[MFC/OPENGL] Problème de chargement de texture
[MFC] Gestion des clics : comportement étrange...[GDI / MFC] Clipping !
[MFC] Afficher Bitmap[MFC] Chargement et affichage d'un Bitmap dans une fenêtre dimensionée
Plus de sujets relatifs à : [MFC] Bitmap


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR