That really isn't the way to do it.
I assume you have all the code needed in the Onpaint handler of the scrollbox to show your circuit image ?
What you need to do is pass a canvas to that code instead of assuming its always the ScrollBox canvas so that you can select where to paint the surface to..
So basically write yourself a master procedure that updates the scrollbox area accecpting a Canvas as a parameter. When the Onpaint for the scrollBox is triggered then simply call this function passing its Canvas to it, when you want to create a Jpeg, pass the canvas of the jpeg to it instead or a Bitmap that can be converted to a jpg afterwards.
This way you have one master function that prints the circuit using a canvas to send it to and there will be no limit on size, at least there shouldn't be..
I think you get the picture.