Rectangle<T extends num>.fromPoints 构造函数
创建由点 a
和 b
包围的矩形;
该矩形包含 x 坐标在 a.x
和 b.x
之间,y 坐标在 a.y
和 b.y
之间的所有点,包括这两个端点。
如果 a.x
和 b.x
之间的距离无法表示(这可能在其中一个或两个都是双精度浮点数的情况下发生),实际的右边界可能稍微偏离 max(a.x, b.x)
。对于 y 坐标和底部边界也是如此。
示例
var leftTop = const Point(20, 50);
var rightBottom = const Point(300, 600);
var rectangle = Rectangle.fromPoints(leftTop, rightBottom);
print(rectangle); // Rectangle (20, 50) 280 x 550
print(rectangle.left); // 20
print(rectangle.top); // 50
print(rectangle.right); // 300
print(rectangle.bottom); // 600
实现
factory Rectangle.fromPoints(Point<T> a, Point<T> b) {
T left = min(a.x, b.x);
T width = (max(a.x, b.x) - left) as T;
T top = min(a.y, b.y);
T height = (max(a.y, b.y) - top) as T;
return Rectangle<T>(left, top, width, height);
}