Zoomer sur un Canvas

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;
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour01/02/2002
VisualisationVu 1502 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Graphisme
Auteur de l'article
SwissDelphiCenter SwissDelphiCenter
connecté le 02/11/2011
329 articles dans la section
Contacter l'auteur