专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »PHP教程 » 基础结构:GdiPlus[40]: 不该忽略的一些基础结构 »正文

基础结构:GdiPlus[40]: 不该忽略的一些基础结构

来源: 发布时间:星期四, 2009年12月24日 浏览:0次 评论:0


  这些基础结构有: TGPSize、TGPSizeF、TGPPo、TGPPoF、TGPRect、TGPRectF.

  它们自身提供了些方便功能, 如果早看看话前面很多代码能更精简些.

  TGPPo 或 TGPPoF 方便功能:

  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;       //获取起始点 


标签:基础结构
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: