You can register your own canvas class.
procedure RegisterCanvas(CanvasClass: TImagingCanvasClass);
ImagingCanvases (at line 547)
List of registered canvases is used by FindBestCanvasForImage functions to find best canvas for given image. If two different canvases which support the same image data format are registered then the one that was registered later is returned (so you can override builtin Imaging canvases).