Canvas Factories: Video.canvas
The bewegung.Video.canvas()
method is typically used to configure a layer. It returns a “factory”, i.e. a special function, which can be called to generate new pre-configured canvases of a certain type.
from bewegung import Video
v = Video(width = 1920, height = 1080, seconds = 10.0)
canvas_factory = v.canvas(backend = 'drawingboard')
canvas_a = canvas_factory() # produce a new canvas
canvas_b = canvas_factory() # produce yet another new canvas
In the context of a layer’s configuration, the use of bewegung.Video.canvas()
looks as follows.
Note
DrawingBoard
is the default backend, so it usually does not have to be explicitly selected.
A new, pre-configured canvas of the requested type is fed into the layer method for every individual video frame.
from bewegung import Video
v = Video(width = 1920, height = 1080, seconds = 10.0)
@v.sequence()
class Foo:
@v.layer(canvas = v.canvas(backend = 'drawingboard'))
def bar(self, canvas): # a new canvas is generated and passed once per frame
return canvas
Parameters of the bewegung.Video.canvas()
method other than backend
, i.e. the name of the selected backend, are usually forwarded to the underlying library.
Warning
The various backends of bewegung
may fill certain parameters of their underlying libraries with reasonable defaults or fix inconsistencies that can be problematic in the context of generating videos. See chapters on individual backends below.