From 6ba110bb87f35ff0327437463019bce3b548df37 Mon Sep 17 00:00:00 2001 From: Joe Freeman Date: Fri, 6 Feb 2015 22:01:39 +0530 Subject: [PATCH 1/3] Update the readme (node modules need to be installed before 'node-gyp rebuild'). --- Readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Readme.md b/Readme.md index 28e694fdb..e69742b81 100644 --- a/Readme.md +++ b/Readme.md @@ -286,6 +286,10 @@ If you have not previously, init git submodules: $ git submodule update --init +Install the node modules: + + $ npm install + Build node-canvas: $ node-gyp rebuild From 08d4cbf4b84c654f949f568c8880260f6b03026c Mon Sep 17 00:00:00 2001 From: Joe Freeman Date: Fri, 6 Feb 2015 22:03:22 +0530 Subject: [PATCH 2/3] Make the failing 'drawImage' test more obvious. --- test/public/tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/public/tests.js b/test/public/tests.js index 92aa1bafa..728dcf694 100644 --- a/test/public/tests.js +++ b/test/public/tests.js @@ -1656,7 +1656,7 @@ tests['drawImage(img,x,y,w,h) scale vertical'] = function(ctx, done){ tests['drawImage(img,sx,sy,sw,sh,x,y,w,h)'] = function(ctx, done){ var img = new Image; img.onload = function(){ - ctx.drawImage(img, 13, 13, 80, 80, 25, 25, img.width / 2, img.height / 2); + ctx.drawImage(img, 13, 13, 45, 45, 25, 25, img.width / 2, img.height / 2); done(); }; img.onerror = function(){} From 66a7a895d8ce665c7c6a234a4e738a7e5fc2c169 Mon Sep 17 00:00:00 2001 From: Joe Freeman Date: Fri, 6 Feb 2015 22:04:13 +0530 Subject: [PATCH 3/3] Fix 'drawImage' scaling (the dimensions of the region that gets clipped also needs to be scaled). --- src/CanvasRenderingContext2d.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CanvasRenderingContext2d.cc b/src/CanvasRenderingContext2d.cc index dfc55eee2..81a1b827a 100755 --- a/src/CanvasRenderingContext2d.cc +++ b/src/CanvasRenderingContext2d.cc @@ -739,6 +739,8 @@ NAN_METHOD(Context2d::DrawImage) { cairo_scale(ctx, fx, fy); dx /= fx; dy /= fy; + dw /= fx; + dh /= fy; } if (context->hasShadow()) {