What is a "Canvas" in an Image Editor?
Across various image editors, the term "canvas" is used in contrast with layer to refer to the image composited from all layers combined, and the editable area where it's displayed. In the simplest case, if you open a JPG image and it becomes a single layer, then that whole image becomes the canvas. You can use tools like brushes to paint on the canvas—that's why it's called canvas. The idea of canvas makes more sense when you consider how layers work in image editors.
In complex image editors, each project you edit is supposed to be an image, a raster image, which means it has resolution in pixels, e.g. 1000x1000px. When you export your edits as a JPG image, for example, that JPG will have 1000x1000px of resolution. If your screen is larger than 1000x1000px, you'll see a square in the middle of the screen that is the canvas, and the rest of it will be padded with a (likely customizable) "background color" that won't be exported. There are other things that aren't exported that can appear as overlays on the canvas, such as grids and guides. If your screen is smaller than the canvas, you'll get scrollbars so you can look around the canvas.
Each layer in an image editor can be its own image. This means that is possible for a layer to be larger than the canvas. In this case, when the image is exported, the layer will be "clipped" to the boundaries of the canvas. This is the most important thing about it, because in many cases the layer will also have its own boundaries, and the image editor will have several tools that apply to the currently selected layer specifically, or to the whole canvas.
Some examples include:
- Resizing, rotating, skewing, or transforming the current layer or the whole canvas (all layers combined).
- Copying (Ctrl+C) the current layers or the whole canvas (called "copy merged" or "copy visible").
- Tools the sample colors or depend on colors having options to switch between the current layer or all layers on the canvas beneath the current one, e.g. eyedropper, magic wand, bucket fill, magnetic lasso, etc.
Selections: in most applications, trying to "select all" pixels will select the perimeter of the canvas, not the perimeter of the layer. Similarly, by default, when nothing is selected, applications may act as if the whole canvas is selected. This can lead to unexpected results. For example, if you apply the "blur" filter on a layer, normally the whole filter will become blurry, but if the layer is larger than the canvas, only the parts of the layer that are visible on the canvas will become blurry, and the pixels that aren't visible in the canvas at the moment will be skipped. Similarly, in some cases clicking on the canvas with a paint brush tool selected and dragging it outside the canvas may paint on the layer in an invisible area outside the canvas that will only become visible if you try to move or scale the layer into the visible canvas area, while in other cases this doesn't happen and the brush's paint gets automatically clipped by the canvas boundary.
Some interesting cases:
In Krita, a clone layer only clones pixels from a layer that are inside the canvas.
In GIMP, layer boundaries can be explicitly modified and they don't change automatically in some cases. For example, if you blur something, the edges may look clipped because the blur stops at the layer boundary. In cases like this you need to change the layer boundary to the image boundary manually.
Leave a Reply