Mega Code Archive

 
Categories / Delphi / VCL
 

Stretchdraw on an icon

Question: When I attempt to use the TCanvas.StretchDraw method to draw a zoomed view of an Icon, the size does not change. How can I get around this? Answer: Icons always draw at the system default icon size. To display a zoomed view of an icon image, copy the icon image to a bitmap, then use the TCanvas.StretchDraw method. Example: procedure TForm1.Button1Click(Sender: TObject); var TheBitmap : TBitmap; begin TheBitmap := TBitmap.Create; TheBitmap.Width := Application.Icon.Width; TheBitmap.Height := Application.Icon.Height; TheBitmap.Canvas.Draw(0, 0, Application.Icon); Form1.Canvas.StretchDraw(Rect(0, 0, TheBitmap.Width * 3, TheBitmap.Height * 3), TheBitmap); TheBitmap.Free; end;