I'd have done it the following way:
Create a TJPEG and load an image there.
Then create a TImage on the form and use copyrect to copy the loaded image from TJpeg.
Now for the zooming: You need to specify current position (usually the upper right corner) and current zoom level. Based on these you can modify copyrect properties (i.e. which part of TJpeg to copy).
Finally you should redraw the image on mousemove (maybe a workaround should be used to detect if a mouse button was pressed to pan) and onmousewheel which change the parameters given to copyrect.
Apply copyrect each time parameters changed.