Afficher une image avec QT

Afficher une image avec QT - C++ - Programmation

Marsh Posté le 11-09-2006 à 14:40:36    

salut,
 
j ai une matrice 1000*30 qui contient des valeurs numérique, concernat des informations thermiques.
j 'aimerais savoir comment je peut l'afficher sous forme d'une image en utilisant QT??
j'ai pas vraiment comprendre la difference entre les classes QIMAGE et QPIXMAP
 
Merci d'avance

Reply

Marsh Posté le 11-09-2006 à 14:40:36   

Reply

Marsh Posté le 11-09-2006 à 15:01:28    

A priori QIMAGE c'est pour des fichiers type bitmap;
par contre, pour QPIXMAP, la doc est plutot légère :/

Reply

Marsh Posté le 11-09-2006 à 16:21:42    

D'après la doc que je viens de parcourir rapidement (j'ai jamis bossé avec  QT)
QImage est plutôt utilisé pour manipuler des images (mise à l'échelle rotation etc ...)
Qpixmap est plutôt fait pour afficher rapidement.

Reply

Marsh Posté le 11-09-2006 à 16:28:15    

stiko83> donc en gros il faudrait d'abord que tu génère un fichier bitmap par rapport à ta matrice (à toi de l'interpreter en 2D), pour ensuite l'afficher avec les Qimage & qpixmap

Reply

Marsh Posté le 11-09-2006 à 16:56:07    

stiko83 a écrit :

salut,
 
j ai une matrice 1000*30 qui contient des valeurs numérique, concernat des informations thermiques.
j 'aimerais savoir comment je peut l'afficher sous forme d'une image en utilisant QT??
j'ai pas vraiment comprendre la difference entre les classes QIMAGE et QPIXMAP
 
Merci d'avance


 
Avec gtk c'est très simple avec un drawing_area, qui te permet d'exporter en jpg ou png après.
Pour Qt j'avais un peu cherché l'équivalent. Tu as regardé du coté de Qcanva?

Reply

Marsh Posté le 11-09-2006 à 19:42:03    

Salut,
Pour afficher une image avec QPixmap ou QImage, il faut déjà que le codec nécessaire soit chargé, ce qui n'est probablement pas le cas si tu n'as que ta matrice. L'autre solution est de tout mettre au format xpm, mais je doute que ce soit le meilleur parti à prendre.
 
Vu que toi seul sais comment décoder cette matrice, tu as 2 solutions:
* elle peut être stocké comme fichier: programme un codec
* elle ne sera jamais comme fichier: créé un widget d'affichage dans lequel tu l'affiches toi même en réimplémentant la méthode paintEvent.


---------------
.
Reply

Marsh Posté le 22-10-2006 à 12:14:57    

Si ça t'intéresse encore un mois après, j'ai trouvé ce tuto plutôt intéressant :
http://chl.be/glmf/kafka.fr.free.f [...] inter.html

Reply

Marsh Posté le 22-10-2006 à 23:19:53    

Qui est aussi "un peu" dépassé ;)
Ceci dit, il aurait ptet continué de poster s'il avait encore un problème...


---------------
.
Reply

Marsh Posté le 24-10-2006 à 18:31:22    

IrmatDen a écrit :

Qui est aussi "un peu" dépassé ;)
Ceci dit, il aurait ptet continué de poster s'il avait encore un problème...


 
Oui mais moi ça me permettra de retrouver facilement l'adresse quand je la chercherai  :D  
Non, sérieusement, c'est dépassé au point d'en être faux ou pas?
Je viens de gtkmm. J'avais fait une appli qui me plaisait. Mais là j'en ai marre de gtk pour pas mal de raisons, en particulier le manque d'homogénéité des outils de developpement. Ca me fait perdre trop de temps.
L'adresse que j'ai trouvée m'a permis en 10 lignes de code de redémarrer le bouzin avec kde. Tiens, puisque tu as l'air de t'y connaître : un éventuel portage sous windows est simple? tu as une adresse?
 

Reply

Marsh Posté le 24-10-2006 à 20:00:51    

Désolé pour le peu de détails. C'est encore bon si tu utilises Qt3 (le tutoriel a été écrit avec la 3.0.?). Mais Qt4 étant sorti depuis quelques temps, je l'ai considéré un peu vite comme dépassé (et vu la date, j'ai cru que c'était du Qt2 en plus) :/
 
Si tu cherches plus de ressources sur Qt3, tu as ce tuto qui est une traduction. La version pour Qt4 est hors ligne pour l'instant malheureusement.
 
Au niveau du portage Windows, ça dépend de ton projet. Il peut souvent te suffir d'une recompilation pour que ça marche. Sinon, faut voir au cas par cas...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed