Nastroje jako MSProject nepouzivaji kresleni na TImage, ale pouzivaji zpusob, kdy mas seznam objektu a ten vykreslujes pomoci TPaintBox v jeho metode OnPaint.
Znamena to ale napsat vse objektove od zacatku - spolecny predek, ktery se umi vykreslit, posunout, zmazat, propojit se a udrzovat propojeni s jinym objektem, mit dobre navrzeny seznam objektu atd.
Jinak ve tvem pripade, kdy potrebuju nejaky objekt nakreslit na Canvas:
1. vim, kam chci objekt nakreslit (uzivatel jej tam polozil)
2. vim rozmery toho objektu (protoze jej chci kreslit)
Takze ti nezbyva nez zjistit, zda se na Canvas vejde nebo zda bude "couhat" z Canvasu ven. Pokud se nevejde, zmenis rozmery - Image.Width, Image.Height. Ale protoze kreslis "natvrdo", zmena rozmeru zpusobi i deformaci toho, co jsi dosud nakreslil