Design Canvas Templates with Text, Shapes, and Images

The template composer is where you build the actual content of a canvas template. It works on a JavaScript canvas: you place text, geometric shapes, and images, style and arrange them, and save the result. When a template is rendered for playback, the canvas is stored as an image file in JPG, PNG, WebP, or BMP format.

The composer appears in two places. In the admin area it is used to create the templates listed in the template overview. The same composer opens in the playlist area when a user edits a template that was dropped into a playlist, with a few additional functions described below.

A typical workflow: set the canvas size, insert elements, style and arrange them, then save.

You reach the composer from the template overview by clicking a template name or by choosing Template Editor in the context menu.

The Composer in the Playlist Area

When a template is used in a playlist, each playlist gets its own editable copy. Opening it there shows the same composer with two additions:

Changes made to the original template have no effect on the playlist copies unless you reset.

Canvas Settings

The right side of the toolbar controls the workspace:

The disk icon saves the template. It turns red when there are unsaved changes. The icon next to it leaves the composer: in the template editor it returns to the template overview, in the playlist area it returns to the playlist composer. If you leave with unsaved changes, a warning appears.

Adding Elements

The Insert section on the left of the toolbar adds new elements. New elements are always placed at the top left of the canvas, from where you drag them into position.

Text

The Aa button inserts a text element with a Lorem ipsum placeholder. Double-click it to change the text. You can also select part of the text and change the font only for the selected range. Formatting is described under Typography.

Geometric Shapes

The shape button opens a picker with geometric forms such as circles, triangles, rectangles, and polygons with different numbers of sides.

Images

The image button opens a selector for the media pool. It shows all directories you have access to, but lists only images, so you cannot insert a video or other media type by accident. Pick an image and click Add.

Undo and Redo

The History section undoes and redoes up to 20 steps. The keyboard shortcuts Ctrl+Z (undo) and Ctrl+Y (redo) work as well.

Selecting and Scaling Objects

Click an object to select it. Drag it to move it, or use the arrow keys to move it by one pixel, with Shift held by 50 pixels. Dragging the handles scales it: the corner handles scale proportionally, the side handles stretch the object and distort it.

For exact values, the Scaling section in the toolbar holds two scaling factors, one per axis, that you can set by hand.

Styling Objects

These functions in the toolbar apply to the selected object:

Aligning Objects

The Align button opens the Align object popup. It aligns the selected object relative to the canvas: left, horizontally centered, or right, and top, vertically centered, or bottom.

Typography

Selecting a text element shows the Typography section in the toolbar:

Scaling text with the mouse distorts the letters. To make text larger or smaller, change the font size instead.

Grouping

Hold Shift while selecting to select several objects. A group icon then appears in the toolbar to combine them into a group, for example, to move or scale several objects at once. Groups are permanent. Clicking a group shows an ungrouped icon to dissolve it.

The canvas background is always white and cannot be changed. White areas are rendered as transparent in the exported image. JPG and BMP do not support transparency, there the white areas stay white.

Object Context Menu

A right-click on an object opens its context menu.

The entries are:

Keyboard Shortcuts

ShortcutAction
Ctrl+ZUndo
Ctrl+YRedo
Ctrl+DDuplicate object
DelDelete object
Arrow keysMove object by 1 px
Shift+Arrow keysMove object by 50 px
Shift+ClickSelect several objects