Based on TImage, this component adds zooming ability through the ZoomEven, ZoomX and ZoomY properties. ZoomX & ZoomY are the percentage of zoom, so 100 is 100% which is normal zoom. 200 would be 2x and 50 would be 1/2x. ZoomEven indicates to maintain aspect ratio. If ZoomX and ZoomY are not equal when ZoomEven gets a new value, then ZoomY receives the value of ZoomX.
My code in this component is public domain. Enjoy!
**This version 1.1 fixes some major bugs. It works great now.**