From 4953f63fd78d26f22fc0460f18444764eb4a73ac Mon Sep 17 00:00:00 2001 From: mike-000 <49240900+mike-000@users.noreply.github.com> Date: Mon, 8 Aug 2022 20:57:09 +0100 Subject: [PATCH 1/2] Do not apply #12467 change to Icons Use getPixelRatio() as in ImageBuilder --- src/ol/render/canvas/Immediate.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/ol/render/canvas/Immediate.js b/src/ol/render/canvas/Immediate.js index df47c822ef..55a0e329bd 100644 --- a/src/ol/render/canvas/Immediate.js +++ b/src/ol/render/canvas/Immediate.js @@ -1041,19 +1041,24 @@ class CanvasImmediateRenderer extends VectorContext { this.image_ = null; return; } + const imagePixelRatio = imageStyle.getPixelRatio(this.pixelRatio_); const imageAnchor = imageStyle.getAnchor(); const imageOrigin = imageStyle.getOrigin(); this.image_ = imageStyle.getImage(this.pixelRatio_); - this.imageAnchorX_ = imageAnchor[0] * this.pixelRatio_; - this.imageAnchorY_ = imageAnchor[1] * this.pixelRatio_; - this.imageHeight_ = imageSize[1] * this.pixelRatio_; + this.imageAnchorX_ = imageAnchor[0] * imagePixelRatio; + this.imageAnchorY_ = imageAnchor[1] * imagePixelRatio; + this.imageHeight_ = imageSize[1] * imagePixelRatio; this.imageOpacity_ = imageStyle.getOpacity(); this.imageOriginX_ = imageOrigin[0]; this.imageOriginY_ = imageOrigin[1]; this.imageRotateWithView_ = imageStyle.getRotateWithView(); this.imageRotation_ = imageStyle.getRotation(); - this.imageScale_ = imageStyle.getScaleArray(); - this.imageWidth_ = imageSize[0] * this.pixelRatio_; + const imageScale = imageStyle.getScaleArray(); + this.imageScale_ = [ + (imageScale[0] * this.pixelRatio_) / imagePixelRatio, + (imageScale[1] * this.pixelRatio_) / imagePixelRatio, + ]; + this.imageWidth_ = imageSize[0] * imagePixelRatio; } /** From 8bbeb31cfb5e701034b7acec0b4621292e004c8b Mon Sep 17 00:00:00 2001 From: mike-000 <49240900+mike-000@users.noreply.github.com> Date: Mon, 8 Aug 2022 21:59:16 +0100 Subject: [PATCH 2/2] correct setting of pixelRatio --- test/rendering/cases/immediate-pixel-ratio/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/rendering/cases/immediate-pixel-ratio/main.js b/test/rendering/cases/immediate-pixel-ratio/main.js index 773bd351f5..7fbb801756 100644 --- a/test/rendering/cases/immediate-pixel-ratio/main.js +++ b/test/rendering/cases/immediate-pixel-ratio/main.js @@ -69,8 +69,8 @@ new Map({ view: new View({ center: [256 / 2, -256 / 2], resolution: 1, - devicePixelRatio: 2, }), + pixelRatio: 2, }); render();