Initially the aim was to take any component canvas and enable drawing/plotting on that canvas. A number of initial issues on an early model Android device scaled the aim back to using a TBitMap and a function (SetNewImageBitMap) was added to ensure the BitMap was instantiated in an image component and to align its borders to those of the image.
Provided the Canvas passed as ACanvas into the plotting routines many of the problems went away.
One odd problem which persisted was the effect of "Canvas Scale". In projects developed for larger later model Android phones scale needed to be handled. While the original test applications compiled in Berlin for a Pocket Neo 3.5" Screen needed to ignore canvas scale.
After much playing around it seems that if Canvas Scale is greater than 1 you need to consider it but if it is less than 1 you need to ignore it. I can see no reason for this but that seems to work for the limited number of Android phones I can access.