Delphi World - Масштабирование для Canvas
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Масштабирование для Canvas

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

procedure SetCanvasZoomFactor(Canvas: TCanvas; AZoomFactor: Integer);
 var
   i: Integer;
 begin
   if AZoomFactor = 100 then
     SetMapMode(Canvas.Handle, MM_TEXT)
   else
   begin
     SetMapMode(Canvas.Handle, MM_ISOTROPIC);
     SetWindowExtEx(Canvas.Handle, AZoomFactor, AZoomFactor, nil);
     SetViewportExtEx(Canvas.Handle, 100, 100, nil);
   end;
 end;


 procedure TForm1.Button1Click(Sender: TObject);
 var
   bitmap: TBitmap;
 begin
   bitmap := TBitmap.Create;
   try
     bitmap.Assign(Form1.image1.Picture.Bitmap);
     SetCanvasZoomFactor(bitmap.Canvas, 70);
     Canvas.Draw(30, 30, bitmap);
   finally
     bitmap.Free
   end;
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования