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;