Three panels: the fitted 16:9 photo in a portrait viewport at 1×; at 3× the viewport formula allows a pan that pushes the image off-screen; at 3× the fitted formula keeps it centred vertically and bounded horizontally
Android

Bounding a pinch-zoom pan on the viewport lets the photo leave the screen — bound it on the fitted image

With ContentScale.Fit, a 16:9 photo in a portrait viewer can be panned fully off-screen at 2.8×. The bound must use the image’s fitted size, per axis.