Small module for fitting a canvas element within the bounds of its parent.
Useful, for example, for making a canvas fill the screen. Works with SVG
elements too!
Here's a simple example to make your canvas update its dimensions when resizing the window:
You might want to override the
You can also set the scale of the canvas element relative to its styled size on the page using the
Dynamically change the canvas' target
Dynamically change the canvas'
Instead of filling a given element, explicitly set the width and height
of the canvas. Note that this value will still be scaled up according
to
Usage

resize = fit(canvas, parent, scale)
Creates aresize
function for your canvas
element. Calling this function
will resize the canvas to fit its parent element.Here's a simple example to make your canvas update its dimensions when resizing the window:
var fit = require('canvas-fit')
var canvas = document.createElement('canvas')
window.addEventListener('resize', fit(canvas), false)
You might want to override the
parent
element that the canvas should be
fitting within: in which case, pass that element in as your second argument:window.addEventListener('resize'
, fit(canvas, window)
, false
)
You can also set the scale of the canvas element relative to its styled size on the page using the
scale
argument – for example, passing in
window.devicePixelRatio
here will scale the canvas resolution up on retina
displays.resize.scale = <Number>
Dynamically change the canvas' target scale
. Note that you still need to
manually trigger a resize after doing this.resize.parent = <DOMElement>
Dynamically change the canvas' parent
element. Note that you still need
to manually trigger a resize after doing this.resize.parent = () => [width, height]
Instead of filling a given element, explicitly set the width and height
of the canvas. Note that this value will still be scaled up according
to resize.scale
resize.parent = function() {
return [ window.innerWidth - 300, window.innerHeight ]
}