Using a lot of data from a table (and calculations) I design on BM
(TBitMap), using commands like BM.Canvas.Ellipse, BM.Canvas.TextOut,
BM.Canvas.Polyline, etc. This task takes some time (about 30 seconds).
When the design is complete, I show it on screen using Tela.Canvas.Draw
(0, 0, BM) (Tela is a TImage object).
If I want to print the design, I do everything again using Printer
instead of BM.
I have almost no experience with Canvas, so I don't know if it is the
right way to do these things, but it's working well.
My problem is: after designing and showing it on screen, I would like
to zoom in or zoom out clicking the mouse (actually this is a very
common feature in many applications). The way I'm doing things, it
seems to me I would have to redesign everything (from the beginning)
using new paramaters (number of pixels / mm), but this is inconvenient
because it takes the same amount of time again (30 seconds).
Is there any way to zoom in or zoom out within a design on the screen
without having to "calculate" it again? And what about transfering
a "calculated" design from screen to printer maintaining appropriate
size?