diff --git a/src/ol/render/canvas/canvasimmediate.js b/src/ol/render/canvas/canvasimmediate.js index 8920002fcc..b9b4346b31 100644 --- a/src/ol/render/canvas/canvasimmediate.js +++ b/src/ol/render/canvas/canvasimmediate.js @@ -274,8 +274,8 @@ ol.render.canvas.Immediate.prototype.drawImages_ = var x = pixelCoordinates[i] - this.imageAnchorX_; var y = pixelCoordinates[i + 1] - this.imageAnchorY_; if (this.imageSnapToPixel_) { - x = (x + 0.5) | 0; - y = (y + 0.5) | 0; + x = Math.round(x); + y = Math.round(y); } if (rotation !== 0 || this.imageScale_ != 1) { var centerX = x + this.imageAnchorX_; diff --git a/src/ol/render/canvas/canvasreplay.js b/src/ol/render/canvas/canvasreplay.js index 3b676add9b..1bfcbd47b7 100644 --- a/src/ol/render/canvas/canvasreplay.js +++ b/src/ol/render/canvas/canvasreplay.js @@ -329,8 +329,8 @@ ol.render.canvas.Replay.prototype.replay_ = function( x = pixelCoordinates[d] - anchorX; y = pixelCoordinates[d + 1] - anchorY; if (snapToPixel) { - x = (x + 0.5) | 0; - y = (y + 0.5) | 0; + x = Math.round(x); + y = Math.round(y); } if (scale != 1 || rotation !== 0) { var centerX = x + anchorX; diff --git a/test_rendering/spec/ol/style/expected/icon-canvas.png b/test_rendering/spec/ol/style/expected/icon-canvas.png index cdc0dba6b1..b15cc13994 100644 Binary files a/test_rendering/spec/ol/style/expected/icon-canvas.png and b/test_rendering/spec/ol/style/expected/icon-canvas.png differ