From f8bb159a0fd426ed4ff72f2415bd01239c8ad9b3 Mon Sep 17 00:00:00 2001 From: lang Date: Tue, 9 Jul 2013 15:29:52 +0800 Subject: [PATCH] =?UTF-8?q?buildPath=E4=B8=AD=E5=8A=A0=E5=85=A5retina?= =?UTF-8?q?=E7=9A=84=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util/shape/symbol.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/util/shape/symbol.js b/src/util/shape/symbol.js index 085e9ee6b..84b42b116 100644 --- a/src/util/shape/symbol.js +++ b/src/util/shape/symbol.js @@ -164,10 +164,11 @@ define( buildPath : function(ctx, style) { var pointList = style.pointList; var rect = this.getRect(style); + var ratio = window.devicePixelRatio || 1; // console.log(rect) // var ti = new Date(); var pixels = ctx.getImageData( - rect.x, rect.y, rect.width, rect.height + rect.x*ratio, rect.y*ratio, rect.width*ratio, rect.height*ratio ); var data = pixels.data; @@ -178,16 +179,17 @@ define( var g = color[1]; var b = color[2]; var width = rect.width; + for (var i = 1, l = pointList.length; i < l; i++) { - idx = (pointList[i][0] - rect.x - + (pointList[i][1]- rect.y) * width + idx = ( (pointList[i][0] - rect.x) * ratio + + (pointList[i][1]- rect.y) * width * ratio * ratio ) * 4; data[idx] = r; data[idx + 1] = g; data[idx + 2] = b; - data[idx + 3] = 255; + data[idx + 3] = 255; } - ctx.putImageData(pixels, rect.x, rect.y); + ctx.putImageData(pixels, rect.x * ratio, rect.y * ratio); // console.log(new Date() - ti); return; }, -- GitLab