Bitmap [MFC] - C++ - Programmation
Marsh Posté le 11-03-2005 à 23:47:31
tu dessines dans quoi là ? un CPictureBox ? c'est le CPaintDC de quoi que tu utilises ?
Marsh Posté le 12-03-2005 à 09:28:44
La je suis dans la fonction onPaint de ma boite de dialogue !!
Marsh Posté le 12-03-2005 à 09:41:30
utilise la fonction LoadImage() pour charger l'image, passer par un ifstream ne marchera pas
Marsh Posté le 12-03-2005 à 10:19:35
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 !!
Marsh Posté le 12-03-2005 à 10:33:41
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 : |
oui et alors ?
dickymoe a écrit : |
tu ferais mieux d'utiliser un autre format d'image
Marsh Posté le 12-03-2005 à 10:36:58
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 !!
Marsh Posté le 12-03-2005 à 10:46:45
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 .|
Marsh Posté le 12-03-2005 à 11:15:51
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 !
Marsh Posté le 12-03-2005 à 11:40:19
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 ???
Marsh Posté le 12-03-2005 à 12:21:16
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
dickymoe a écrit : |
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 : |
si, c'est ce que je me tue à lui dire depuis le début
dickymoe a écrit : |
je suppose qu'il avait un peu de RAM en trop
Marsh Posté le 12-03-2005 à 13:01:57
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 !
Marsh Posté le 12-03-2005 à 13:06:10
le format P5 c'est pas du ppm mais du pgm
Marsh Posté le 12-03-2005 à 13:06:35
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) ! |
Oui d'accord ok tu utilises une ppm format binaire ( information que tu n'avais pas donné ! )
Maintenant, réponds à ma question : où utilises-tu 'data' ???
Marsh Posté le 12-03-2005 à 13:10:44
Excuse moi jé oublié de répondre a ta question
en faite dans le code mit ya une erreur je lutilise a la place de sImage dans CreateBitmap
Marsh Posté le 12-03-2005 à 13:10:57
Citation : ifstream file("res/lenna.ppm",ios::in | ios::binary); |
tu connais l'imagerie numérique mais tu commence apparement
et puis "lenna n'est pas bonne " (© Axel)
Marsh Posté le 12-03-2005 à 13:19:52
Citation : tu connais l'imagerie numérique mais tu commence apparement |
pourquoi ?
Marsh Posté le 12-03-2005 à 13:23:00
lenna est la premiere image que l'on traite parce qu'elle est historiquement connue mais franchement on sait pas faire grand chose avec
Marsh Posté le 12-03-2005 à 13:37:23
la né pas le probleme !! ce ke je veut c afficher cette image ou une autre !!
Marsh Posté le 12-03-2005 à 13:40:08
bha lis les réponses qu'on t'a donné !!
Marsh Posté le 12-03-2005 à 13:47:27
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 |
Marsh Posté le 12-03-2005 à 13:48:55
plait-il ?
Marsh Posté le 12-03-2005 à 13:49:57
KangOl a écrit : plait-il ? |
Qu'est-ce que tu veux faire qui n'ets pas faisable avec lenna?
Marsh Posté le 12-03-2005 à 13:53:15
bha essaye kirsh, les résultats sont pas tres parlants
Marsh Posté le 12-03-2005 à 13:58:55
Ca fonctionne, non? Le résultat est peut-être pas utile, mais il existe...
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.
Marsh Posté le 12-03-2005 à 13:59:07
bon, mauvais exemple avec kirsh (ca fait longtemps...)
Marsh Posté le 12-03-2005 à 14:00:33
Marsh Posté le 12-03-2005 à 14:02:44
ho ca va
Marsh Posté le 12-03-2005 à 14:40:13
KangOl a écrit : bon, mauvais exemple avec kirsh (ca fait longtemps...) |
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
(avec les cheveux qui donnent une espèce d'illu "coup de giraffe)
Marsh Posté le 12-03-2005 à 14:45:28
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. |
Par contre, je ne connaissais pas l'original
http://www.tecn.upf.es/~emeinhardt/lenna_original.jpg
Marsh Posté le 12-03-2005 à 15:18:19
tiens moi non plus !
Marsh Posté le 12-03-2005 à 15:20:06
KangOl a écrit : tiens moi non plus ! |
.. et du coup qu'elle était playmate novembre 1972 ..
http://en.wikipedia.org/wiki/Lenna
Marsh Posté le 12-03-2005 à 15:21:33
Mr Mala a écrit : .. et du coup qu'elle était playmate novembre 1972 .. |
ca par contre je savait
photo scannée depuis un playboy
Marsh Posté le 12-03-2005 à 15:24:42
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
Marsh Posté le 13-03-2005 à 15:04:58
Bon je vais allé me renseigner sur un autre forum car vous mavé pas franchement aidé !!
Marsh Posté le 13-03-2005 à 15:12:37
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 .......
Marsh Posté le 13-03-2005 à 19:53:27
dickymoe number 1 sur les boulets
Marsh Posté le 30-06-2005 à 09:32:43
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 ?
Marsh Posté le 30-06-2005 à 11:45:30
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.
Marsh Posté le 30-06-2005 à 15:56:39
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 !
T'as bien raison dickymoe, change de forum, ici y a qu'des merdes !!!
Marsh Posté le 11-03-2005 à 23:24:11
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...) :
Mais cela ne marche pas !! pouvez vous me dire pourquoi et comment faire ca seré cool !
Merci