首页 > 代码库 > Envelope对象介绍
Envelope对象介绍
Envelope也称包络线,是一个矩形区域,是每个几何形体的最小外接矩形。每个Geometry都拥有一个Envelope,包括Envelope自身。
它定义了XMax,XMin,YMax,YMin,Height,Width等属性,用于获取或者设置一个存在包络线的对象空间坐标。
IEnvelope接口提供的方法有:Expand(按比例缩放包络线的范围,产生一个新的包络对象),offset(通过给定的(X,Y)移动包络线),CenterAt(通过改变包络线中心点来移动包络线),PutCoords(通过指定的坐标点来构造包络线)等。
IEnvelope还有两个拓扑运算方法Intersect(用来计算两个包络线相交,返回部分作为结果)和Union(合并包络线,以两个包络线的最小外接矩形作为合并结果)。
IEnvelope envelop1 = new EnvelopeClass();
IEnvelope envelop2 = new EnvelopeClass();
envelop1.PutCoords(100, 100, 200, 200);
envelop2.PutCoords(150, 150, 250, 250);
//envelop1变成两个Envelope的交集
envelop1.Intersect(envelop2);
IEnvelope envelop1 = new EnvelopeClass();
IEnvelope envelop2 = new EnvelopeClass();
envelop1.PutCoords(100, 100, 200, 200);
envelop2.PutCoords(150, 150, 250, 250);
//两个Envelope合并为一个
envelop1.Union(envelop2);