FMX.Graphics.TCanvas.IntersectClipRect

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche


Delphi

procedure IntersectClipRect(const ARect: TRectF); virtual;

C++

virtual void __fastcall IntersectClipRect(const System::Types::TRectF &ARect);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
FMX.Graphics.pas
FMX.Graphics.hpp
FMX.Graphics TCanvas


Beschreibung

Definiert den Zeichenbereich durch Schneiden des aktuellen Clipping-Bereichs des TCanvas-Objekts und eines Rechtecks.

Der Parameter ARect gibt das Rechteck an, das für die Schnittmenge verwendet wird.

Wenn ARect leer ist, führt IntersectClipRect nichts aus. Diese Methode löst keine Fehler aus.

Hinweis: Das Clipping-Rechteck funktioniert nur, wenn der Canvas-Status zuerst mit SaveState gespeichert wurde.

Beispiele

Beispiel der Codestruktur:

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

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

Vollständiges Demo-Beispiel:

procedure TForm1.IntersectBtnClick(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.InterSectClipRect(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.Red;
    Canvas.Fill.Kind := TBrushKind.Solid;
    Canvas.FillEllipse(TRectF.Create(TPointF.Create(100, 125), 275, 150), 100);
  
  finally
    Canvas.RestoreState(Save);
  end;
  finally
    Canvas.EndScene;
  end;
end;



Siehe auch