Show Tiles Services for fixed resolutions (maxResolution/2^zoom) in different resolutions

The TMS service in the above map supports only a set of fixed resolutions (1.40625/2^zoom ).
In OpenLayers it's possible to show this service at different resolutions by stretching or shrinking the requested tiles.
On layer level the maxextent is set to the maxextent of the tiles services and the image size of the tiles is set to a new one. The new size is calculated by
newtileSize = tileSizeService * maxResolutionService / maxResolutionMap.
The approach works also for WMS-C layers.

Original Tile


Map maxResolution
Layer maxExtent
Layer tileSize
Layer tileOrigin
 

map.maxResolution: