Redimensionner une image [Résolu]

TiotBour 103 Messages postés samedi 21 décembre 2002Date d'inscription 5 janvier 2007 Dernière intervention - 30 déc. 2004 à 20:37 - Dernière réponse : TiotBour 103 Messages postés samedi 21 décembre 2002Date d'inscription 5 janvier 2007 Dernière intervention
- 6 janv. 2005 à 21:59
Bonjour,

J'ai un probleme avec la classe CImage.
Je suis sous Visual .net 2003 et j'utilise les mfc (et oui ...).

J'aimerai redimensionner une image, mais je n'arrive pas a comprendre comment faire.

J'ai essayé d'utiliser StretchBlt mais le debugueur m'indique que la taille du fichier chargé n'est pas modifié.
Idem pour la fonction Draw.

Quelqu'un aurais un exemple à me donner ?

Merci.
Afficher la suite 

2 réponses

Répondre au sujet
vdust 43 Messages postés jeudi 16 décembre 2004Date d'inscription 14 mars 2007 Dernière intervention - 6 janv. 2005 à 14:46
+3
Utile
La fonction StretchBlt ne modifie pas la dimension de ton image : elle
se contente de copier les données du rectangle de l'image source dans
le rectangle sélectionné de l'image cible, en étirant ou contractant
l'image si les rectangles sont de dimensions différentes. La taille de
l'image cible n'est pas modifiée : elle est définie à sa création.

Pour redimmensionner ton image, tu dois donc créer une nouvelle image aux nouvelles dimensions souhaitées



CImage img_dest;

img_dest.Create(




largeur,

hauteur,

bit_par_pixels,

0



);




puis copier l'image source (que j'appellerai img_src
) dans cette nouvelle image.



img_src.StretchBlt(



img_dest.GetDC(),

0, 0,

largeur, hauteur,

SRCCOPY



);



tu obtiens alors ton image d'origine, redimensionnée.



J'espère t'avoir aidé à résoudre ton problème




-- Virtual Dust --
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de vdust
TiotBour 103 Messages postés samedi 21 décembre 2002Date d'inscription 5 janvier 2007 Dernière intervention - 6 janv. 2005 à 21:59
0
Utile
Merci !

Cela marche parfaitement.

Je n'avais pas compris la fonction ainsi.
Commenter la réponse de TiotBour

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.