日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Delphi XE2 之 FireMonkey 入门(10) - 常用结构 TPoint、TPointF、TSmallPoint、TSize、TRect、TRectF 及相关方法...

發布時間:2025/3/19 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Delphi XE2 之 FireMonkey 入门(10) - 常用结构 TPoint、TPointF、TSmallPoint、TSize、TRect、TRectF 及相关方法... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

它們都是結構, TPointF、TRectF 屬新增, 其它也都有升級; 現在都擁有豐富的方法和方便的運算符重載; 且有一組相關的公共函數.

這組內容重要的是它們都來自 System.Types 單元, 也就是不僅僅在 FM 中可用.

TPoint:
Create(); // {運算符重載} Equal; // = NotEqual; // <> Add; // + Subtract; // - Implicit; // 可從 TSmallPoint 隱身轉換到 TPoint Explicit; // 可顯示轉換到 TSmallPoint {方法} Distance(); // 計算兩點之間的距離 SetLocation(); // 重定位 Offset(); // 偏移 Add(); // 加 Subtract(); // 減 IsZero(); // 是否在 [0,0] 點 {數據成員} X,Y: Longint;{ 測試 } procedure TForm1.Button1Click(Sender: TObject); varp1,p2,p3: TPoint; beginp1 := TPoint.Create(11, 22);p2.Create(11, 11);p3 := p1 + p2;ShowMessageFmt('%d,%d', [p3.X, p3.Y]); //22,33p3.SetLocation(0, 0);p3 := p1.Add(p2);ShowMessageFmt('%d,%d', [p3.X, p3.Y]); //22,33 end;

TPointF: 比 TPoint 多出三個方法:
Ceiling(); // Truncate(); // Round(); //procedure TForm1.Button1Click(Sender: TObject); varpf: TPointF;p1,p2,p3: TPoint; beginpf.Create(1.4, 1.6);p1 := pf.Ceiling;p2 := pf.Truncate;p3 := pf.Round;ShowMessageFmt('%d,%d %d,%d %d,%d', [p1.X, p1.Y, p2.X, p2.Y, p3.X, p3.Y]); //2,2 1,1 1,2 end;

TSmallPoint: 用得少, 成員也少.
Create(); // {運算符重載} Equal; // = NotEqual; // <> Add; // + Subtract; // - {方法} Add(); // 加 Subtract(); // 減 Distance(); // 計算兩點間距 IsZero(); // 是否是 [0,0] 點 {數據成員} X,Y: SmallInt;

TSize:
Create(); // {運算符重載} Equal; // = NotEqual; // <> Add; // + Subtract; // - {方法} Add(); // 加 Subtract(); // 減 Distance(); // 計算兩點間距 IsZero(); // 是否是 [0,0] 點 {屬性} Width; // Height; // {數據成員} cx,cy: Single;

TRect:
Create(); //建立時和可同時規格化矩形; 參見 NormalizeRect() 方法 {運算符重載} Equal; // = NotEqual; // <> Add; // + (并集) Multiply; // * (交集) {類方法} Empty; //獲取一個空的 TRect 對象; 內聯 Intersect; //獲取兩個矩形的交集矩形 Union; //獲取兩個矩形的并集矩形 {方法} NormalizeRect(); //規格化矩形; 當 Top > Bottom 或 Left > Right 時, 會置換數據使之合理. IsEmpty(); //是否為空 Contains(); //是否包含指定點或指定矩形 IntersectsWith(); //判斷和指定矩形是否交叉 Intersect(); //和指定矩形進行交集運算 Union(); //和指定矩形進行并集運算 Offset(); //偏移 SetLocation(); //設置新原點 Inflate(); //放大矩形(保持中心點) CenterPoint(); //獲取中心點 SplitRect(); //切除, TSplitRectType 枚舉(Left、Top、Right、Bottom)指示要留住的一邊 {屬性} Width: Integer; //有這些屬性很方便 Height: Integer; // Size: TSize; // Location: TPoint; // {數據結構, 這同前} (Left, Top, Right, Bottom: Longint) 或 (TopLeft, BottomRight: TPoint)

TRectF: 只比 TRect 多出了轉換到 TRect 時關于小數取舍的三個方法.
Ceiling(); // Truncate(); // Round(); //

相關的公共函數與過程:
{ function } EqualRect(); //判斷 TRect 或 TRectF 是否相等 Rect(); //構建 TRect RectF(); //構建 TRectF NormalizeRectF(); //從 TPointF 數組規格化出一個 TRectF NormalizeRect(); //規格化 TRectF RectWidth(); //獲取矩形寬度 RectHeight(); //獲取矩形高度 RectCenter(); //讓矩形在另一指定矩形中居中 Bounds(); //根據原點、寬、高構建矩形 Point(); //構建 TPoint PointF(); //構建 TPointF MinPoint(); //比對兩個點返回小的(優先判斷了 Y) ScalePoint(); //按指定比例移動點 SmallPoint(); //構建 TSmallPoint PtInRect(); //判斷點是否在指定矩形中 PtInCircle(); //判斷點是否在指定了中心與半徑的圓中 IntersectRect(); //判斷兩矩形是否相交 UnionRect(); //結合兩矩形 IsRectEmpty(); //判斷矩形是否為空 OffsetRect(); //偏移矩形 CenterPoint(); //獲取矩形中心點 SplitRect(); //矩形切除 CenteredRect(); //算出兩個矩形的中間過渡矩形; 應該是用于動畫的 IntersectRectF(); //輸出兩矩形的交集 UnionRectF(); //輸出兩矩形的并集 { procedure } MultiplyRect(); //按比放縮矩形 InflateRect(); //按量放縮矩形

總結

以上是生活随笔為你收集整理的Delphi XE2 之 FireMonkey 入门(10) - 常用结构 TPoint、TPointF、TSmallPoint、TSize、TRect、TRectF 及相关方法...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。