offscreen rendering scale consistency

I have a windows 10 desktop application: similar to Paraview and other applications where there
is a main window, toolbars, menu system and a large render window. The app stores camera settings
for a given scene to a config file which can be shared among different users running their own desktop systems, which may have different display hardware / resolution characteristics. The app generates
jpg report image based on scene content and camera view parameters using off screen rendering.
The issue is that scaling of the scene contents changes with render window size and leads to
inconsistent report images generated from the same data among different users or between
sessions run on the same host if the user alters their application window size.

Using a vtk callback to follow the camera modified event I observe while changing the display
area height there is no change to any camera parameters (eg., ViewAngle, ParallelScale, FocalPoint etc.)
and yet the scene actors scale up or down accordingly.

What set of parameters and from which rendering pipeline elements would I need to capture
and how could I use that data to enforce consistent images across hosts ?

turns out its very simple: for changes in screen resolution, especially height, in parallel projection
rendering one can simply scale by parallel scale:
double scale = camera->GetParallelScale();
camera->SetParallelScale( scale * referenceHeight / currentRenderWindowHeight );

where referenceHeight is some desired constant.

@Dean, An alternative approach is to allow the application window to be of arbitrary size as per the user’s system but then when generating the report and capturing the window screenshot, use vtkWindowToImageFilter’s scale parameter. Calculate the scale as you calculate parallel scale. This would ensure that the image is captured at the right scale without altering the user session. Hth