FMX.Graphics.TCanvas.ExcludeClipRect
Delphi
procedure ExcludeClipRect(const ARect: TRectF); virtual;
C++
virtual void __fastcall ExcludeClipRect(const System::Types::TRectF &ARect);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
procedure function |
public | FMX.Graphics.pas FMX.Graphics.hpp |
FMX.Graphics | TCanvas |
Beschreibung
Schließt einen rechteckigen Bereich aus dem Clipping-Bereich von TCanvas aus.
ExcludeClipRect wird von TCanvas-Nachkommen implementiert, um einen angegebenen Rechteckbereich aus dem Zeichenbereich des TCanvas-Objekts auszuschließen.
Der Parameter ARect
gibt den auszuschließenden Rechteckbereich an, in dem das Zeichnen keine Auswirkung hat.
Wenn ARect
leer ist, führt ExcludeClipRect 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.ExcludeClipRect (MyRect);
// Do your drawing here
finally
MyCanvas.RestoreState(Save);
end;
end;
Vollständiges Demo-Beispiel:
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;