# HG changeset patch # User Thomas Junk # Date 1564061639 -7200 # Node ID d34e9b8ad3967ec1b07ec8a18670f1f8ca9f2668 # Parent 0507a9e4772b45dc7d8480593780b16a4e2866e2 fix scaling issues diff -r 0507a9e4772b -r d34e9b8ad396 client/src/components/Pdftool.vue --- a/client/src/components/Pdftool.vue Thu Jul 25 15:10:27 2019 +0200 +++ b/client/src/components/Pdftool.vue Thu Jul 25 15:33:59 2019 +0200 @@ -299,7 +299,13 @@ this.rendercompleteListener = map.once("rendercomplete", event => { let canvas = event.context.canvas; let scaleDenominator = Math.round( - 1000 * pixelsPerMapMillimeter * this.getMeterPerPixel() + 1000 * + pixelsPerMapMillimeter * + this.getMeterPerPixel( + this.openLayersMap() + .getView() + .getResolution() + ) ); console.log("scaleDenominator = ", scaleDenominator); var snapshot = canvas.toDataURL("image/jpeg"); @@ -444,16 +450,15 @@ ); }, getResolutionFromScale() { - var pixelsPerMapMillimeter = this.form.resolution / 25.4; - return this.form.scale / (1000 * pixelsPerMapMillimeter); + const scaling = Math.round(this.form.scale / 1000); + return scaling / this.getMeterPerPixel(this.form.resolution / 25.4); }, - getMeterPerPixel() { + getMeterPerPixel(f) { var map = this.openLayersMap(); let view = map.getView(); let proj = view.getProjection(); return ( - getPointResolution(proj, view.getResolution(), view.getCenter()) * - proj.getMetersPerUnit() + getPointResolution(proj, f, view.getCenter()) * proj.getMetersPerUnit() ); }, cancel() {