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

  FORUM HardWare.fr
  Programmation
  C++

  [Qt] Modifier la taille d'une image

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Qt] Modifier la taille d'une image

n°2101644
Masbath1
Posté le 15-09-2011 à 10:52:23  profilanswer
 

Bonjour à tous,
 
Je souhaite faire la modification d'image et que ça fonctionne instantannément. Pour les petites images, de taille genre 500x300 ça marche parfaitement, mais pour des photos plus grosses, ça rame. J'aimerais donc pouvoir créer, à partir de mon image d'origine, une image avec moins de pixels. J'ai déjà essayé la fonction resize(QSize) sur le QLabel qui contient ma QImage, mais cette fonction rogne l'image et la fonction resize(QSize) sur ma QImage mais mon application plante lorsque je veux modifier mon image (en plus lorsque je lui demande des valeurs de la taille de l'image, elles sont erronées, pas facile de travailler sur les Pixel avec...)
 
J'ai également trouvé sur Internet la fonction QImage QImage::smoothScale( int w, int h, ScaleMode mode = ScaleFree ) . Elle était disponible sur Qt 3.3 (voir http://doc.trolltech.com/3.3/qimage.html) mais ne l'est plus maintenant.
 
En vous remercient par avance pour votre aide.
 
 
Masbath.

mood
Publicité
Posté le 15-09-2011 à 10:52:23  profilanswer
 

n°2101649
GrosBocdel
Posté le 15-09-2011 à 11:06:31  profilanswer
 

Si la taille de pix2 n'est pas trop petite par rapport à la taille de pix1
 
QPixmap pix1("c:\toto.jpg" );
QPixmap pix2=pix1.scaled(QSize(taille1,taille2),Qt::IgnoreAspectRatio);
 
je trouve que ça marche bien.
 
 
ton QLabel il prend un QPixmap, pas une QImage


Message édité par GrosBocdel le 15-09-2011 à 11:09:40
n°2101668
Masbath1
Posté le 15-09-2011 à 11:55:03  profilanswer
 

D'abord, merci d'avoir pris le temps de me répondre.
 
En effet, mon QLabel contient un QPixmap, mais j'ai créé une QPixmap à par partir de ma QImage ( avec (QPixmap::fromImage(*pImagePetite))).
Je ne pense pas qu'on puisse manipuler les pixels à partir d'une QPixmap, c'est pour ça que je préfère utiliser la fonction scaled sur une QImage.
 
Sinon, oui, l'affichage fonctionne correctement, néanmoins le problème de plantage persiste lorsque je veux modifier instantanément une image (avec un QSlider ou un bouton).

n°2101677
GrosBocdel
Posté le 15-09-2011 à 13:02:52  profilanswer
 

Masbath1 a écrit :

D'abord, merci d'avoir pris le temps de me répondre.
 
En effet, mon QLabel contient un QPixmap, mais j'ai créé une QPixmap à par partir de ma QImage ( avec (QPixmap::fromImage(*pImagePetite))).
Je ne pense pas qu'on puisse manipuler les pixels à partir d'une QPixmap, c'est pour ça que je préfère utiliser la fonction scaled sur une QImage.
 
Sinon, oui, l'affichage fonctionne correctement, néanmoins le problème de plantage persiste lorsque je veux modifier instantanément une image (avec un QSlider ou un bouton).


 
Faudrait voir ton code car je vois mal ce problème venir de Qt lui même.

n°2101712
Masbath1
Posté le 15-09-2011 à 16:18:38  profilanswer
 

Mon code est trop long pour le poster ici, je vais continuer de chercher de mon côté. Si je ne trouve pas d'intermédiaire, je scinderai mon code pour le poster ici. ;)
 

n°2101716
Masbath1
Posté le 15-09-2011 à 16:48:02  profilanswer
 

J'ai changé l'image réduite à modifier de *QImage en QImage et ça a l'air de fonctionner.
Merci pour tes réponses GrosBoc


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

  [Qt] Modifier la taille d'une image

 

Sujets relatifs
impression image JPanel javamodifier le contenu d'une adresse
[VB] Modifier un fichier XMLch script image slider on hover avec liens
Dreamweaver : centrer une imageImposer une police et une taille de caractères ?
[GtkAda] Image de fond pour un canvas avec Gtkada[HTLM] Image de fond + texte par dessus
Comment "coller" parfaitement une image au background ?modifier la disposition de ma Sh00tbox
Plus de sujets relatifs à : [Qt] Modifier la taille d'une image


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