首页 »PHP教程 » 基础结构:GdiPlus[40]: 不该忽略的一些基础结构 »正文
基础结构:GdiPlus[40]: 不该忽略的一些基础结构
来源: 发布时间:星期四, 2009年12月24日 浏览:0次 评论:0
这些基础结构有: TGPSize、TGPSizeF、TGPPo 、TGPPo F、TGPRect、TGPRectF. 它们自身提供了 些方便 功能, 如果早看看 话前面 很多代码能更精简些. TGPPo 或 TGPPo F 方便 功能: 1、 已经重载了 Add、Subtract 运算符, 所以 "点" 可以 + 或 -; 2、可使用 Equals 对比是否 致. var Pt1,Pt2,Pt3: TGPPo; b: Boolean; begin Pt1.Initialize(30 , 30 ); Pt2.Initialize(20 , 20); { Add } Pt3 := Pt1 + Pt2; ShowMessageFmt('%d, %d', [Pt3.X, Pt3.Y]); { 50, 50} { Subtract } Pt3 := Pt1 - Pt2; ShowMessageFmt('%d, %d', [Pt3.X, Pt3.Y]); { 10, 10 } { Equals } b := Pt1.Equals(TGPPo.Create(30, 30)); ShowMessage(BoolToStr(b, True)); { True } end; TGPSize 或 TGPSizeF 在 TGPPo 基础上, 增加了 个判断是否为空 Empty . var Size1, Size2, Size3: TGPSize; begin Size1.Initialize(10, 10); Size2.Initialize(10, 10); Size3 := Size1 + Size2; ShowMessage(BoolToStr(Size3.Empty, True)); { False } Size3 := Size1 - Size2; ShowMessage(BoolToStr(Size3.Empty, True)); { True } end; TGPRect 和 TGPRectF 功能更多, 容易忽视 有: TGPRect.Create(TRect); //可通过 TRect 建立 Rect.InitializeFromLTRB; //可根据两个点化 Rect.IsEmptyArea; //可判断矩形区域是否真实存在 Rect.Clone; //可复制 Rect.Contains; //可判断是否包含个点或另个矩形 Rect.Equals; //是否相等 Rect.IntersectsWith; //是否相交 Rect.Inflate; //放缩矩形 Rect.Off; //移动矩形 Rect.Intersect; //产生相交矩形 Rect.Union; //产生联合矩形 Rect.Location; //获取起始点
相关文章
读者评论
发表评论
|
|