Agrandir une image depuis le code

Résolu
jderf
Messages postés
189
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
2 octobre 2014
- 5 oct. 2010 à 10:07
jderf
Messages postés
189
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
2 octobre 2014
- 6 oct. 2010 à 20:47
Bonjour,

Je souhaite agrandir/reduire une image pour faire un zoom + et -

La réduction fonctionne bien mais je ne peux pas agrandir l'image à une taille superieur à celle fixée lors de la conception. Pourquoi ??

J'ai placé l'image dans une scrollBox, c'est identique.

Voici le code
procedure TForm1.BtnZoomPlusClick(Sender: TObject);
var B : Tbitmap;
begin
  B := Tbitmap.Create;
  Image1.Width := round(Image1.Width *1.1); 
  Image1.Height := round(Image1.Height *1.1);
  
  Image1.Canvas.Brush.color := Clblack;
  Image1.canvas.FrameRect(Image1.ClientRect);
  ImageList1.GetBitmap(0,B);  // Charge l'image dans le bitmap
  
  Image1.Canvas.StretchDraw(Image1.ClientRect,B);  // Copie aux nouvelles dimensions
end;

procedure TForm1.BtnZoomMoinsClick(Sender: TObject);
var B : Tbitmap;
begin
  B := Tbitmap.Create;
  Image1.Width := round(Image1.Width *0.9);
  Image1.Height := round(Image1.Height *0.9);
  
  Image1.Canvas.Pen.color := Clblack;
  Image1.canvas.FrameRect(Image1.ClientRect);
  ImageList1.GetBitmap(0,B);  // Charge l'image dans le bitmap
  
  Image1.Canvas.StretchDraw(Image1.ClientRect,B); // Copie aux nouvelles dimensions
end;


Merci.
A voir également:

6 réponses

Caribensila
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
5 oct. 2010 à 19:26
Image1.Picture.Bitmap.Width  := round(Image1.Picture.Bitmap.Width  *1.1);
Image1.Picture.Bitmap.Height := round(Image1.Picture.Bitmap.Height *1.1);

Image1.Picture.Bitmap.Canvas.StretchDraw(Image1.Picture.Bitmap.Canvas.ClipRect, B);
1