You could look into using WMF or EMF graphic formats.
Those are vector graphic formats and it requires you to call a series of Canvas.Functions as you normally do now
that performs the images.
You can lookup "Metafile" functions.
First thing you do is use
"CreateEnhMetaFile" with the needed parameters.
That creates the Device Context, rectangle to draw in etc..
Using the Canvas functions you can write to this file...
when done, you have created a vector image..
To show it, call "PlayEnhMetaFile" and it spits it out on a canvas for you.
Don't get thrown off with the FILE language.. It can be a memory file too..
Look around for a "Tmetafile" and "TmetaFileCanvas"