FMX.Graphics.TCanvas.ExcludeClipRect

提供: RAD Studio API Documentation
移動先: 案内検索


Delphi

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

C++

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

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
FMX.Graphics.pas
FMX.Graphics.hpp
FMX.Graphics TCanvas


説明

TCanvas のクリップ領域から、四角形の領域を除外します。

ExcludeClipRect は、下位クラス TCanvas によって実装されており、TCanvas の描画領域から、四角形の領域を除外します。

ARect パラメータは除外する四角形領域を指定し、そこでは描画の効果がなくなります。

ARect が空の場合、ExcludeClipRect は何も行いません。いずれのエラーも発生させません。

メモ: キャンバスの状態が最初に SaveState によって保存されている場合にのみ、クリップした四角形は機能します。

コードの構造例:

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;

完全デモ例:

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;

関連項目