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
Rejoignez-nous