you can record the up and down mouse clicks to get your square and read each pixel one at a time with pget(vb5 & 6 only)
Then you can have a 2nd picture box and paint the pixels with the line command making a solid square (vb5 & 6 only) of whatever zoom size you wish.
If you use built-in functions such as stretchblt to do this instead of manually, keep in mind that your output can be anti-aliased in the pasting operation.
I know you didn't and that's why I replied ...
When you are in specific laguage discussion group expression "built-in" means exactly what's built into language so maybe next time you want to be a bit more specific.