bbox v0.4.0
Bounding Box (BBox)
Find bounding box dimensions either within or surrounding arbitrary containers
Installation
Available as a node package. To install use
$ npm install bbox
Methods
The following methods are available
- create
- fit
- surround
Use
create
BBox.create(x0, y0, x1, y1)
OR
BBox.create(width, height)
Creates a frozen bbox object with both position and dimensions. When using dimensions the box has undefined location but can still be used for its aspect ratio.
var BBox = require('bbox');
var fixed = BBox.create(1, 1, 4, 4);
// => {x0: 1, y0: 1, x1: 4, y1: 4, width: 3, height: 3}
var floating = BBox.create(2, 3);
// => {width: 2, height: 3, x0: undefined, y0: undefined, x1: undefined, y1: undefined}
fit
BBox.fit(container, aspect)
Creates the largest box with the same aspect ratio as aspect
that will fit within container
. The box is centered within container
. Note container requires a fixed bbox but aspect may be fixed or floating.
var container = BBox.create(0, 0, 100, 100);
var aspect = BBox.create(250, 500);
BBox.fit(container, aspect);
// => {x0: 25, y0: 0, x1: 75, y1: 100, width: 50, height: 100}
surround
BBox.surround(container, aspect)
Creates the smallest box with the same aspect ratio as aspect
that will surround container
. The box is centered around container
. Note container requires a fixed bbox but aspect may be fixed or floating.
var container = BBox.create(0, 0, 100, 100);
var aspect = BBox.create(250, 500);
BBox.surround(container, aspect);
// => {x0: 0, y0: -50, x1: 100, y1: 150, width: 100, height: 200}