Mon problème va paraître basique à beaucoup d'entre-vous mais, après plus d'une journée passée à faire des tests et à lire les tutoriels de G. Vasseur et à chercher des pistes sur les forums, je me résoud à solliciter l'aide de la communauté.
Je cherche à ajuster une image (par un facteur de zoom) à l'espace disponible sur mon écran soit 954 pixels en hauteur et 1350 pixels en largueur ( homothétique du format A4 paysage). J'ai chargé mon image dans un BGRAImageManipulation dont le nom est BGRA_GC_IMgZ et il me reste à lui appliquer un effet de zoom, à priori en utilisant StretchPutImage ou StretchPutIMageProportionaly mais je n'arrive pas à obtenir le résultat escompté à savoir une image entièrement inscrite dans un cadre de dimension 1350 pixels* 954 pixels.
Je souhaite ensuite sauvegarder l'image dont la taille a été ajustée pour d'autres traitements.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 BGRA_GC_ImgZ.Top := 5 ; // le container image position et taille BGRA_GC_ImgZ.Left := 5 ; BGRA_GC_ImgZ.Height := TaillImgOrigH ; BGRA_GC_ImgZ.Width := TaillImgOrigW ; BGRA_GC_ImgZ.Bitmap.loadFromFile(NomImg2); // L'image est chargée dans le Container BGRA_GC_ImgZ Img_orig := TBGRABitmap.create(TaillImgOrigW, TaillImgOrigH, 255) ; // l'image d'origine à la taille non ajustée Img_Ajust := TBGRABitmap.create(Nll_larg, Nll_Haut,255) ; // l'image dont la taille est ajustée à celle disponible Img_Ajust.StretchPutImage(Img_Ajust.ClipRect,Img_orig, dmDRawwithTRansparency ); BGRA_GC_ImgZ.redrawBitmap ;
Je vous remercie par avance pour vos explications.
R.O.
Partager