Agrandissement d'image == perte qualité (mais pas lors d'une diminution) !!!!!!

gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009 - 13 janv. 2006 à 19:17
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 14 janv. 2006 à 11:51
pour isoler mon pb j'ai fais un dialogue dans lequel je charge une image à partir du disque dur (image de fond avec OnPaint())
mon image a le meme rapport longueur/largeur que la zone cliente de mon dialogue.

- si mon image est plus petite que la zone cliente, celle-ci est bien redimensionnée et la qualité est identique que l'image du disque dur (pas de pixel parasites)
- par contre si mon image est plus grosse que ma zone cliente , le resultat est decevant, j'obtiens des pixels de couleurs totalement differentes (qui suivent essentiellement certains contour de l'image).

> image que j'obtiens en fond dans mon dialogue si elle est plus petite que ma zone cliente (avec redimensionnement donc)

image que j'obtiens si elle est plus grande.

methode appliqué : StretchBlt (....)

merci

2 réponses

cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
14 janv. 2006 à 10:55
La solution n'est pas aussi simple.
il faut utiliser un algorithme qui permet de réduire le nombre de pixels de l'image par interpolation. Tu trouveras des exemples dans cette bibliothèque de traitements d'images CXImage (à chercher sur internet)

louis14
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 janv. 2006 à 11:51
Regarde comment j'ai fait dans ce code:
http://www.cppfrance.com/code.aspx?ID=26420
0
Rejoignez-nous