FMX.Graphics.TCanvas.ExcludeClipRect

De RAD Studio API Documentation
Aller à : navigation, rechercher


Delphi

procedure ExcludeClipRect(const ARect: TRectF); virtual; abstract;

C++

virtual void __fastcall ExcludeClipRect(const System::Types::TRectF &ARect) = 0 ;

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
FMX.Graphics.pas
FMX.Graphics.hpp
FMX.Graphics TCanvas


Description

Exclut une zone rectangulaire d'une zone de délimitation de TCanvas.

ExcludeClipRect est implémenté par les descendants de TCanvas pour exclure la zone rectangulaire spécifiée de la zone de dessin de TCanvas.

Le paramètre ARect spécifie la zone rectangulaire à exclure (le dessin n'aura aucun effet dans cette zone).

Si ARect est vide, ExcludeClipRect ne fait rien. Cela ne déclenche aucune erreur.

Remarque: Le rectangle de délimitation ne fonctionne que si l'état du canevas est d'abord enregistré en utilisant SaveState.

Exemples

Exemple de structure de code :

var
  MyCanvas: TCanvas;
  Save: TCanvasSaveState;
  MyRect : TRectF;
begin
  try  
    Save := MyCanvas.SaveState;
  
    // Create the clipping rectangle
    MyRect.Create (20, 20, 100, 100);   
    MyCanvas.ExcludeClipRect (MyRect);
    
    // Do your drawing here

  finally   
    MyCanvas.RestoreState(Save);
  end;
end;

Exemple de démo complet :

procedure TForm1.ExcludeBtnClick(Sender: TObject);
var
  Canvas: TCanvas;
  MyRect: TRectF;
  Save: TCanvasSaveState;
begin
  Canvas := Image1.Bitmap.Canvas;
  MyRect := TRectF.Create(TPointF.Create(50, 50), 160, 160);
  Canvas.BeginScene;
  try
    Save := Canvas.SaveState;
  try

    Canvas.ExcludeClipRect(MyRect);
    Canvas.Stroke.Color := TAlphaColorRec.Lime;
    Canvas.Stroke.Thickness := 3;
    Canvas.Stroke.Dash := TStrokeDash.Dash;
    Canvas.DrawRect(MyRect, 0, 0, [], 1);
    Canvas.Fill.Color := TAlphaColorRec.Aqua;
    Canvas.Fill.Kind := TBrushKind.Solid;
    Canvas.FillEllipse(TRectF.Create(TPointF.Create(10, 10), 125, 125), 100);

  finally
    Canvas.RestoreState(Save);
  end;
  finally
    Canvas.EndScene;
  end;
end;

Voir aussi