Bonjour,
je n'ai jamais été très fort en graphisme, d'où ce post.
J'ai une imagelist qui contient des images 60x60 (provenance fichiers png du web), que je voudrais recopier en les redimensionnant dans une imagelist de 32x32.
Simple, non ?
Ça fait juste 4 heures que je suis dessus...
L'idée c'est de parcourir la première il (appelons-là "source") image par image, de recopier l'image en cours dans une TImage intermédiaire posée sur la form à la bonne dimension, de préciser Stretch à True et de récupérer cette image intermédiaire pour l'insérer dans l'il "destination".
Trouvé sur le web :
On pourrait penser que c'est bien comme ça qu'il faut faire puisque dans l'image intermédiaire posée sur la form je vois bien en fin de parcours de la liste la dernière image de l'il source, correctement redimensionnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Image1.Stretch := true; // to make it as large as Image1 Image1.Proportional := true; // to keep width/height ratio imglist32.Add(Image1.Picture.Bitmap, nil);
Mais (car il y a toujours un "mais") l'enregistrement de l'il destination en full bitmap me montre des bouts seulement de mes images d'origine...
Cette il destination fait bien 32x32 mais l'option "Stretch" est passée à la trappe, comme si ce qu'on voyait dans l'image temp n'était pas ce qui va être inséré dans l'il dest.
Pour en avoir le cœur net, j'ai rajouté sur la form une autre TImage temporaire, et j'ai fait ça : Image2.Picture.Assign(Image1.Picture); et je constate que l'image2 présente le même défaut que les images enregistrée dans l'il dest : croppée mais pas stretchée.
La question est donc simple : comment enregistrer dans l'il dest des images vraiment redimensionnées ?
Merci, bonne journée,
Partager