Merge pull request #4869 from klokantech/improve-reproj-precision
Improve precision of ol.reproj.render
This commit is contained in:
@@ -128,17 +128,17 @@ ol.reproj.render = function(width, height, pixelRatio,
|
|||||||
Math.round(pixelRatio * canvasWidthInUnits / sourceResolution),
|
Math.round(pixelRatio * canvasWidthInUnits / sourceResolution),
|
||||||
Math.round(pixelRatio * canvasHeightInUnits / sourceResolution));
|
Math.round(pixelRatio * canvasHeightInUnits / sourceResolution));
|
||||||
|
|
||||||
stitchContext.scale(pixelRatio / sourceResolution,
|
var stitchScale = pixelRatio / sourceResolution;
|
||||||
pixelRatio / sourceResolution);
|
|
||||||
stitchContext.translate(-sourceDataExtent[0], sourceDataExtent[3]);
|
|
||||||
|
|
||||||
sources.forEach(function(src, i, arr) {
|
sources.forEach(function(src, i, arr) {
|
||||||
var xPos = src.extent[0];
|
var xPos = src.extent[0] - sourceDataExtent[0];
|
||||||
var yPos = -src.extent[3];
|
var yPos = -(src.extent[3] - sourceDataExtent[3]);
|
||||||
var srcWidth = ol.extent.getWidth(src.extent);
|
var srcWidth = ol.extent.getWidth(src.extent);
|
||||||
var srcHeight = ol.extent.getHeight(src.extent);
|
var srcHeight = ol.extent.getHeight(src.extent);
|
||||||
|
|
||||||
stitchContext.drawImage(src.image, xPos, yPos, srcWidth, srcHeight);
|
stitchContext.drawImage(src.image,
|
||||||
|
xPos * stitchScale, yPos * stitchScale,
|
||||||
|
srcWidth * stitchScale, srcHeight * stitchScale);
|
||||||
});
|
});
|
||||||
|
|
||||||
var targetTopLeft = ol.extent.getTopLeft(targetExtent);
|
var targetTopLeft = ol.extent.getTopLeft(targetExtent);
|
||||||
|
|||||||
Reference in New Issue
Block a user