diff --git a/src/ol/renderer/canvas/TileLayer.js b/src/ol/renderer/canvas/TileLayer.js index ff1cb839f2..eb8c65896b 100644 --- a/src/ol/renderer/canvas/TileLayer.js +++ b/src/ol/renderer/canvas/TileLayer.js @@ -208,7 +208,11 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer { tileCoord[2] * tileSize[1]) ); - return this.getImageData(tile.getImage(), col, row); + const gutter = Math.round( + tilePixelRatio * source.getGutterForProjection(viewState.projection) + ); + + return this.getImageData(tile.getImage(), col + gutter, row + gutter); } return null; diff --git a/src/ol/webgl/TileTexture.js b/src/ol/webgl/TileTexture.js index 0413ad0d2d..7018f6dbda 100644 --- a/src/ol/webgl/TileTexture.js +++ b/src/ol/webgl/TileTexture.js @@ -397,8 +397,19 @@ class TileTexture extends EventTarget { let data; const image = this.tile.getImage(); + const gutter = Math.round(this.tilePixelRatio_ * this.gutter_); try { - pixelContext.drawImage(image, col, row, 1, 1, 0, 0, 1, 1); + pixelContext.drawImage( + image, + col + gutter, + row + gutter, + 1, + 1, + 0, + 0, + 1, + 1 + ); data = pixelContext.getImageData(0, 0, 1, 1).data; } catch (err) { return null;