Base canvas class for drawing objects, applying effects, and other.
public TImagingCanvas = class(TObject);
ImagingCanvases (at line 139)
Constructor takes TBaseImage (or pointer to TImageData). Source image bits are not copied but referenced so all canvas functions affect source image and vice versa. When you change format or resolution of source image you must call UpdateCanvasState method (so canvas could recompute some data size related stuff).
TImagingCanvas works for all image data formats except special ones (compressed). Because of this its methods are quite slow (they usually work with colors in ifA32R32G32B32F format). If you want fast drawing you can use one of fast canvas clases. These descendants of TImagingCanvas work only for few select formats (or only one) but they are optimized thus much faster.
TObject TImagingCanvas TFastARGB32Canvas